从零学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)
相关推荐
奥顺互联V5 分钟前
yes镜像站群/PHP驱动的镜像站群架构实践
开发语言·架构·开源·php
weixin_3077791318 分钟前
AWS EMR上的Spark日志实时搜索关键指标网页呈现的设计和实现
大数据·python·spark·云计算·aws
凌肖战30 分钟前
Python3 OS模块中的文件/目录方法说明十四
python
taopi202443 分钟前
android java系统弹窗的基础模板
android·java·开发语言
釉色清风1 小时前
【matlab】绘图 离散数据--->连续函数
开发语言·matlab
松仔log1 小时前
Java多线程——对象的组合
java·开发语言·jvm
深蓝海拓1 小时前
基于深度学习的视觉检测小项目(十六) 用户管理界面的组态
人工智能·python·深度学习·qt·pyqt
Qhumaing1 小时前
Python学习——函数参数详解
开发语言·python·学习
Icomi_1 小时前
【PyTorch】7.自动微分模块:开启神经网络 “进化之门” 的魔法钥匙
c语言·c++·人工智能·pytorch·python·机器学习·计算机视觉
酷爱码1 小时前
springboot 动态配置定时任务
java·spring boot·后端