文章目录
- [一、Java 集合框架体系结构](#一、Java 集合框架体系结构)
- [二、Collection 集合体系的基本特点](#二、Collection 集合体系的基本特点)
- [三、Collection 接口中的常用方法](#三、Collection 接口中的常用方法)
- [四、List 接口中的常用方法](#四、List 接口中的常用方法)
一、Java 集合框架体系结构

Java 集合框架主要可以分为 单列集合 和 双列集合 两大体系:
- 单列集合: List、Set、Queue 等接口的实现类,如 ArrayList、LinkedList、HashSet、TreeSet 等。
- 双列集合: Map 接口的实现类,如 HashMap、TreeMap 等。
二、Collection 集合体系的基本特点
1.有的集合允许元素重复,有的不允许
List:允许重复
java
List<String> list = new ArrayList<>();
list.add("Java");
list.add("Java");
list.add("MySQL");
System.out.println(list);
// [Java, Java, MySQL]
Set:不允许重复
java
Set<String> set = new HashSet<>();
set.add("Java");
set.add("Java");
set.add("MySQL");
System.out.println(set);
// Java 只会保留一个
2. 有的集合有序,有的集合无序
这里的"有序"通常指元素的存取顺序是否一致。
ArrayList:有序
java
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
System.out.println(list);
// [A, B, C]
按照 A → B → C 的顺序存入,遍历时也是这个顺序。
HashSet:不保证顺序
java
Set<String> set = new HashSet<>();
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() |
获取迭代器,用于遍历集合 |
示例:
java
Collection<String> collection = new ArrayList<>();
collection.add("Java");
collection.add("MySQL");`在这里插入代码片`
collection.add("Redis");
System.out.println(collection.size()); // 3
System.out.println(collection.contains("Java")); // true
collection.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) |
按指定规则排序 |
示例:
java
List<String> list = new ArrayList<>();
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]