Java 集合

Java 集合

  • 前言
  • 两大顶层接口
  • 集合常用遍历方式
  • 总结

前言

Java集合是日常开发使用频率最高的API,几乎所有业务数据的存储、传输、处理都离不开它。吃透集合的底层原理和选型技巧,是提升代码质量、规避线上bug的关键。


两大顶层接口

Java集合属于java.util包,核心分为Collection和Map两大派系,所有集合实现类都基于这两个顶层接口扩展。

  1. Collection 单列集合(存单个元素)
    用于存储单个独立元素,包含三大核心子接口:
  • List(有序、可重复、有索引):元素存入顺序和取出顺序一致,支持通过索引精准获取元素,允许元素重复。
  • Set(无序、不可重复、无索引):元素无序存储,自动去重,没有索引,无法通过下标取值。
  • Queue(队列、有序、可重复):遵循先进先出规则,多用于消息队列、任务排队场景。
  1. Map 双列集合(存键值对)
    存储 key-value 键值对数据,键唯一不可重复,值可以重复,主要用于映射关系存储(比如用户ID对应用户信息)。

集合常用遍历方式

  1. 普通for循环(仅List)
    基于索引遍历,支持遍历中修改元素
List<String>list=newArrayList<>();for(inti=0;i<list.size();i++){System.out.println(list.get(i));}
  1. 增强for循环(推荐,通用)
    语法简洁,适用所有Collection集合,不支持遍历中增删元素(会报并发修改异常)
for(Strings:list){System.out.println(s);}
  1. 迭代器Iterator(支持遍历删除)
    唯一支持遍历过程中安全删除元素的方式,适配所有集合
Iterator<String>it=list.iterator();while(it.hasNext()){Strings=it.next();if("test".equals(s)){it.remove();// 安全删除}}
  1. Lambda表达式遍历
    代码简洁,适合简单遍历场景
List<String>nameList=Arrays.asList("张三","李四","张三丰","王五");nameList.stream().filter(name->name.length()>2).forEach(System.out::println);

总结

Java集合的核心学习重点就是底层结构、特性差异、场景选型。不用死记硬背源码细节,但必须清楚不同集合的优缺点和适用场景,这是写出高效、稳定代码的基础。