从零学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)
相关推荐
向阳12187 分钟前
Dubbo负载均衡
java·运维·负载均衡·dubbo
DARLING Zero two♡15 分钟前
关于我、重生到500年前凭借C语言改变世界科技vlog.16——万字详解指针概念及技巧
c语言·开发语言·科技
Gu Gu Study17 分钟前
【用Java学习数据结构系列】泛型上界与通配符上界
java·开发语言
yyfhq18 分钟前
sdnet
python
测试199826 分钟前
2024软件测试面试热点问题
自动化测试·软件测试·python·测试工具·面试·职场和发展·压力测试
love_and_hope26 分钟前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
芊寻(嵌入式)39 分钟前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
WaaTong40 分钟前
《重学Java设计模式》之 原型模式
java·设计模式·原型模式
m0_7430484440 分钟前
初识Java EE和Spring Boot
java·java-ee
AskHarries42 分钟前
Java字节码增强库ByteBuddy
java·后端