
文章目录
- 总的介绍
 - 1. **Collection 接口**
 - 2. **List 接口**
 - 3. **Set 接口**
 - 4. **Map 接口**
 - 5. **HashMap、LinkedHashMap、TreeMap**
 - 6. **Queue 接口**
 - 7. **Deque 接口**
 
- ArrayList 类
 - 1. **创建 ArrayList:**
 - 2. **添加元素:**
 - 3. **插入元素:**
 - 4. **获取元素:**
 - 5. **修改元素:**
 - 6. **删除元素:**
 - 7. **查找元素:**
 - 8. **获取大小:**
 - 9. **遍历 ArrayList:**
 - 完整示例:
 
- set接口以及实现类
 - HashSet 类
 - 创建 HashSet:
 - 添加元素:
 - 查找元素:
 - 删除元素:
 - 获取大小:
 - 遍历 HashSet:
 - 用Set 对象实现集合运算
 - 1. 并集(Union):
 - 2. 交集(Intersection):
 - 3. 差集(Difference):
 - 判断是否为子集:
 - TreeSet 类
 - 创建 TreeSet:
 - 添加元素:
 - 查找第一个元素:
 - 删除元素:
 - 获取大小:
 - 遍历 TreeSet:
 - 对象顺序
 
Java 集合框架提供了一组实现常见数据结构(如列表、集合、映射等)的类和接口,使得数据的存储、检索、操作更加方便和高效。集合框架主要包括以下核心接口和类:
总的介绍
1. Collection 接口
Collection 接口是集合框架的根接口,它定义了一组通用的方法,适用于所有集合类。主要有:
- add(E e): 将指定的元素添加到集合中。
 - remove(Object o): 从集合中移除指定的元素。
 - size(): 返回集合中的元素数量。
 - isEmpty(): 判断集合是否为空。
 - contains(Object o): 判断集合是否包含指定的元素。
 - iterator(): 返回一个迭代器,用于遍历集合中的元素。
 
2. List 接口
List 接口继承自 Collection 接口,表示有序的集合,允许重复元素。主要特点是可以通过索引访问元素。常用的实现类有 ArrayList、LinkedList、Vector。
3. Set 接口
Set 接口继承自 Collection 接口,表示不允许重复元素的集合。主要特点是不维护元素的顺序。常用的实现类有 HashSet、LinkedHashSet、TreeSet。
4. Map 接口
Map 接口表示键值对的集合,每个键关联一个值。键不能重复,但值可以。主要方法包括:
- put(K key, V value): 将指定的键值对存储到 Map 中。
 - get(Object key): 返回与指定键关联的值。
 - remove(Object key): 从 Map 中移除指定键的映射。
 - containsKey(Object key): 判断 Map 中是否包含指定的键。
 - containsValue(Object value): 判断 Map 中是否包含指定的值。
 
5. HashMap、LinkedHashMap、TreeMap
- HashMap: 基于哈希表实现,提供快速的检索性能,无固定顺序。
 - LinkedHashMap: 在 
HashMap基础上,保持元素插入顺序。 - TreeMap: 基于红黑树实现,按键有序存储。
 
6. Queue 接口
Queue 接口表示一种先进先出(FIFO)的数据结构,通常用于处理任务调度。主要方法包括 offer(E e)、poll()、peek()。
7. Deque 接口
Deque 接口是 Queue 接口的扩展,表示一种双端队列。可以在两端插入和删除元素。主要方法包括 addFirst(E e)、addLast(E e)、removeFirst()、removeLast()。
ArrayList 类
当使用 ArrayList 类时,您可以执行许多常见的操作,例如添加、获取、修改、删除元素以及其他一些集合操作。以下是 ArrayList 类的详细使用说明:
1. 创建 ArrayList:
import java.util.ArrayList;
public class ArrayListUsage {
    public static void main(String[] args) {
        // 创建一个 ArrayList
        ArrayList<String> cityList = new ArrayList<>();
    }
}
 
2. 添加元素:
使用 add 方法向 ArrayList 中添加元素。
cityList.add("Beijing");
cityList.add("Shanghai");
cityList.add("Guangzhou");
 
3. 插入元素:
使用 add 方法的指定索引位置,将元素插入 ArrayList。
cityList.add(1, "Chengdu");
 
4. 获取元素:
使用 get 方法通过索引获取元素。
String city = cityList.get(0);
 
5. 修改元素:
使用 set 方法通过索引修改元素。
cityList.set(1, "Nanjing");
 
6. 删除元素:
使用 remove 方法通过元素值或索引删除元素。
cityList.remove("Guangzhou");
cityList.remove(0);
 
7. 查找元素:
使用 contains 方法判断 ArrayList 中是否包含某个元素。
boolean containsChengdu = cityList.contains("Chengdu");
 
8. 获取大小:
使用 size 方法获取 ArrayList 的大小。
int cityCount = cityList.size();
 
9. 遍历 ArrayList:
使用 for-each 循环遍历 ArrayList。
for (String city : cityList) {
    System.out.println(city);
}
 
完整示例:
import java.util.ArrayList;
public class ArrayListUsage {
    public static void main(String[] args) {
        // 创建一个 ArrayList
        ArrayList<String> cityList = new ArrayList<>();
        // 添加元素
        cityList.add("Beijing");
        cityList.add("Shanghai");
        cityList.add("Guangzhou");
        // 插入元素
        cityList.add(1, "Chengdu");
        // 获取元素和修改元素
        String firstCity = cityList.get(0);
        cityList.set(1, "Nanjing");
        // 删除元素
        cityList.remove("Guangzhou");
        cityList.remove(0);
        // 查找元素
        boolean containsChengdu = cityList.contains("Chengdu");
        // 获取大小
        int cityCount = cityList.size();
        // 遍历 ArrayList
        System.out.println("遍历城市列表:");
        for (String city : cityList) {
            System.out.println(city);
        }
    }
}
 
这个示例演示了如何使用 ArrayList 进行添加、获取、修改、删除元素以及其他一些集合操作。
set接口以及实现类
HashSet 类
明白了,以下是更简洁的介绍:
创建 HashSet:
Set<String> hashSet = new HashSet<>();
 
添加元素:
hashSet.add("Apple");
hashSet.add("Banana");
hashSet.add("Orange");
 
查找元素:
boolean containsBanana = hashSet.contains("Banana");
 
删除元素:
hashSet.remove("Orange");
 
获取大小:
int setSize = hashSet.size();
 
遍历 HashSet:
for (String fruit : hashSet) {
    System.out.println(fruit);
}
 
这些简单的代码片段展示了 HashSet 的基本操作,包括创建、添加、查找、删除、获取大小和遍历。
用Set 对象实现集合运算
1. 并集(Union):
Set<Integer> unionSet = new HashSet<>(set1);
unionSet.addAll(set2);
 
2. 交集(Intersection):
Set<Integer> intersectionSet = new HashSet<>(set1);
intersectionSet.retainAll(set2);
 
3. 差集(Difference):
Set<Integer> differenceSet = new HashSet<>(set1);
differenceSet.removeAll(set2);
 
判断是否为子集:
boolean isSubset = set1.containsAll(set2);
 
这行代码判断 set2 是否为 set1 的子集,如果是,则 isSubset 为 true。
TreeSet 类
创建 TreeSet:
Set<String> treeSet = new TreeSet<>();
 
添加元素:
treeSet.add("Apple");
treeSet.add("Banana");
treeSet.add("Orange");
 
查找第一个元素:
String firstElement = ((TreeSet<String>) treeSet).first();
 
删除元素:
treeSet.remove("Orange");
 
获取大小:
int treeSetSize = treeSet.size();
 
遍历 TreeSet:
for (String fruit : treeSet) {
    System.out.println(fruit);
}
 
这些简洁的代码片段展示了 TreeSet 的基本操作,包括创建、添加、查找、删除、获取大小和遍历。
对象顺序
在 Java 中,对象的顺序通常涉及到两个方面:插入顺序和排序顺序。
-  
插入顺序(Insertion Order): 插入顺序指的是元素被添加到集合的顺序。例如,如果你按照顺序添加元素 A、B、C 到集合中,那么在遍历集合时,元素的顺序将是 A、B、C。
示例:
Set<String> insertionOrderSet = new HashSet<>(); insertionOrderSet.add("Apple"); insertionOrderSet.add("Banana"); insertionOrderSet.add("Orange"); for (String fruit : insertionOrderSet) { System.out.println(fruit); }输出可能是:
Apple Banana Orange -  
排序顺序(Sorting Order): 排序顺序指的是元素按照一定的顺序排列。在有序的集合中,元素通常按照升序或降序排列。
TreeSet就是一个有序集合的例子,它使用红黑树数据结构来保持元素的顺序。示例:
Set<String> sortingOrderSet = new TreeSet<>(); sortingOrderSet.add("Apple"); sortingOrderSet.add("Banana"); sortingOrderSet.add("Orange"); for (String fruit : sortingOrderSet) { System.out.println(fruit); }输出可能是:
Apple Banana Orange 
需要注意的是,有些集合类(如 HashSet)并不保证元素的排序,而有些集合类(如 TreeSet)则明确保持元素的排序。在选择集合类时,可以根据对顺序的需求来选择合适的实现。


















