Java 集合框架详解:Collection 与 List 核心用法
2026/9/4 5:16:22 网站建设 项目流程

文章目录

  • 一、Java 集合框架体系结构
  • 二、Collection 集合体系的基本特点
  • 三、Collection 接口中的常用方法
  • 四、List 接口中的常用方法

一、Java 集合框架体系结构


Java 集合框架主要可以分为 单列集合 和 双列集合 两大体系:

  • 单列集合:List、Set、Queue 等接口的实现类,如 ArrayList、LinkedList、HashSet、TreeSet 等。
  • 双列集合:Map 接口的实现类,如 HashMap、TreeMap 等。

二、Collection 集合体系的基本特点

1.有的集合允许元素重复,有的不允许

List:允许重复

List<String>list=newArrayList<>();list.add("Java");list.add("Java");list.add("MySQL");System.out.println(list);// [Java, Java, MySQL]

Set:不允许重复

Set<String>set=newHashSet<>();set.add("Java");set.add("Java");set.add("MySQL");System.out.println(set);// Java 只会保留一个

2. 有的集合有序,有的集合无序

这里的“有序”通常指元素的存取顺序是否一致

ArrayList:有序

List<String>list=newArrayList<>();list.add("A");list.add("B");list.add("C");System.out.println(list);// [A, B, C]

按照 A → B → C 的顺序存入,遍历时也是这个顺序。

HashSet:不保证顺序

Set<String>set=newHashSet<>();set.add("A");set.add("B");set.add("C");System.out.println(set);

HashSet不保证遍历顺序与添加顺序一致

三、Collection 接口中的常用方法

方法说明
boolean add(E e)添加元素
boolean addAll(Collection<? extends E> c)添加另一个集合中的所有元素
boolean remove(Object o)删除指定元素
boolean removeAll(Collection<?> c)删除当前集合中所有属于指定集合的元素
void clear()清空集合
boolean contains(Object o)判断是否包含指定元素
boolean containsAll(Collection<?> c)判断是否包含指定集合中的所有元素
int size()获取元素个数
boolean isEmpty()判断集合是否为空
Iterator<E> iterator()获取迭代器,用于遍历集合

示例:

Collection<String>collection=newArrayList<>();collection.add("Java");collection.add("MySQL");collection.add("Redis");System.out.println(collection.size());// 3System.out.println(collection.contains("Java"));// truecollection.remove("MySQL");System.out.println(collection);// [Java, Redis]

四、List 接口中的常用方法

List 继承自 Collection,因此拥有 Collection 中的全部方法

除此之外,由于 List 中的元素具有明确的位置顺序,可以通过下标操作元素,因此提供了一些与索引相关的方法。

方法说明
void add(int index, E element)在指定位置插入元素
boolean addAll(int index, Collection<? extends E> c)从指定位置开始插入一个集合
E get(int index)获取指定下标的元素
E set(int index, E element)修改指定下标的元素,并返回原元素
E remove(int index)删除指定下标的元素,并返回被删除元素
int indexOf(Object o)获取元素第一次出现的下标
int lastIndexOf(Object o)获取元素最后一次出现的下标
ListIterator<E> listIterator()获取 List 专用迭代器
List<E> subList(int fromIndex, int toIndex)获取指定范围的子列表
void sort(Comparator<? super E> c)按指定规则排序

示例:

List<String>list=newArrayList<>();list.add("Java");list.add("MySQL");list.add("Redis");// 指定位置插入list.add(1,"Spring");System.out.println(list);// [Java, Spring, MySQL, Redis]// 获取元素System.out.println(list.get(1));// Spring// 修改元素list.set(1,"Spring Boot");// 删除指定位置的元素list.remove(2);System.out.println(list);// [Java, Spring Boot, Redis]

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询