从零学Java 集合概述

Java 集合概述

文章目录

  • [Java 集合概述](#Java 集合概述)
    • [1 什么是集合?](#1 什么是集合?)
    • [2 Collection体系集合](#2 Collection体系集合)
      • [2.1 Collection父接口](#2.1 Collection父接口)
        • [2.1.1 常用方法](#2.1.1 常用方法)
        • [2.1.2 Iterator 接口](#2.1.2 Iterator 接口)

1 什么是集合?

概念:对象的容器,定义了对多个对象进行操作的常用方法;可实现数组的功能。
和数组区别

  • 数组长度固定,集合长度不固定。
  • 数组可以存储基本类型和引用类型,集合只能存储引用类型。

2 Collection体系集合

Collection体系结构的根接口,代表一组对象,称为"集合"。

  • List接口的特点:有序有下标、元素可重复
  • Set接口的特点:无序无下标、元素不能重复

2.1 Collection父接口

特点:代表一组任意类型的对象。

2.1.1 常用方法

eg:

java 复制代码
/**
 * @author 胡昊龙
 * @version 1.0
 * @description: TODO
 * @date 2024/1/10 11:09
 */
public class Test {
    public static void main(String[] args) {
        //Collection接口的使用
        //创建集合
        Collection collection = new ArrayList();
        Collection collection1 = new ArrayList();
        //1 添加单个元素
        collection.add("北京");
        collection.add("上海");
        collection.add("杭州");
        collection.add("哈尔滨");
        collection.add("北京");
        collection1.add("廊坊");
        collection1.add("保定");
        collection1.add("保定");
        //1.1 添加整个集合
        collection.addAll(collection1);
        System.out.println("元素个数: "+collection1.size());
        System.out.println("打印: "+collection1);
        System.out.println("元素个数: "+collection.size());
        System.out.println("打印: "+collection);
        //2 删除
        //2.1 删除一个元素
        collection.remove("北京");
        System.out.println("删除以后: "+collection);
        //2.2 清空
        collection1.clear();
        System.out.println("清空: "+collection1);
        //3 遍历
        //3.1 增强for
        System.out.println("增强for-----------");
        for (Object o : collection) {
            System.out.println(o);
        }
        //3.2 迭代器:集合中专门用来遍历集合的
        System.out.println("迭代器------------");
        Iterator it = collection.iterator();
        //3.2.1 it.hasNext(); 判断是否还有元素
        //3.2.2 it.next(); 获取下一个元素
        while (it.hasNext()){
            Object next = it.next();
            System.out.println(next);
        }
        //3.2.3 it.remove(); 删除元素
        //4 判断
        //4.1 判断元素是否存在
        System.out.println(collection.contains("哈尔滨"));
        //4.2 判断集合是否为空
        System.out.println(collection1.isEmpty());
    }
}
2.1.2 Iterator 接口

Iterator:迭代器用来遍历集合的统一接口。

  • hasNext();判断是否还有元素
  • next();获取元素
  • remove();删除元素。
java 复制代码
//3.2 迭代器:集合中专门用来遍历集合的
System.out.println("迭代器------------");
Iterator it = collection.iterator();
//3.2.1 it.hasNext(); 判断是否还有元素
//3.2.2 it.next(); 获取下一个元素
while (it.hasNext()){
    Object next = it.next();
    System.out.println(next);
}
//3.2.3 it.remove(); 删除当前元素
//it.remove();

注意

  • 不能执行多次next()。
  • 在使用迭代器过程中,不能使用集合的删除方法,只能使用迭代器的删除方法,
    否则出现并发修改异常(ConcurrentModificationException)
相关推荐
JUNAI_Strive_ving3 分钟前
番茄小说逆向爬取
javascript·python
彤银浦4 分钟前
python学习记录7
python·学习
救救孩子把4 分钟前
深入理解 Java 对象的内存布局
java
落落落sss7 分钟前
MybatisPlus
android·java·开发语言·spring·tomcat·rabbitmq·mybatis
万物皆字节12 分钟前
maven指定模块快速打包idea插件Quick Maven Package
java
夜雨翦春韭19 分钟前
【代码随想录Day30】贪心算法Part04
java·数据结构·算法·leetcode·贪心算法
简单.is.good24 分钟前
【测试】接口测试与接口自动化
开发语言·python
我行我素,向往自由26 分钟前
速成java记录(上)
java·速成
一直学习永不止步31 分钟前
LeetCode题练习与总结:H 指数--274
java·数据结构·算法·leetcode·数组·排序·计数排序
邵泽明32 分钟前
面试知识储备-多线程
java·面试·职场和发展