List、Set、Map 之间的区别是什么?
一、List
二、Set
三、Map
| 🎈边走、边悟🎈迟早会好 |
一、List
- 有序性:
List保持元素的插入顺序,即元素按添加的顺序存储和访问。 - 允许重复:
List可以包含重复的元素。 - 实现类:常用的实现类包括
ArrayList、LinkedList和Vector。 - 访问方式:可以通过索引访问元素,例如
list.get(0)获取第一个元素。 - 用法场景:适用于需要按顺序访问元素,或频繁插入、删除元素的场景。
-
常用方法:
add(E e): 添加元素到列表的末尾。get(int index): 获取指定位置的元素。remove(int index): 移除指定位置的元素。size(): 返回列表中的元素数量。contains(Object o): 判断列表是否包含指定的元素。indexOf(Object o): 返回指定元素在列表中的第一次出现位置。List<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); list.add("Apple"); // 允许重复 System.out.println(list.get(0)); // 输出: Apple System.out.println(list.size()); // 输出: 3 System.out.println(list.contains("Banana")); // 输出: true list.remove(1); // 移除第二个元素二、Set
- 无序性:
Set不保证元素的顺序,元素可能按照不同的顺序存储。 - 不允许重复:
Set不允许包含重复的元素,每个元素都是唯一的。 - 实现类:常用的实现类包括
HashSet、LinkedHashSet和TreeSet。 - 访问方式:没有索引,通常通过迭代器访问元素。
- 用法场景:适用于需要保证元素唯一性,或不关心元素顺序的场景。
-
Set<String> set = new HashSet<>(); set.add("Apple"); set.add("Banana"); set.add("Apple"); // 不允许重复,重复的元素不会被添加 for (String fruit : set) { System.out.println(fruit); }三、Map
- 键值对存储:
Map存储键值对,每个键唯一对应一个值。 - 键唯一性:
Map中的键是唯一的,不允许重复,但值可以重复。 - 实现类:常用的实现类包括
HashMap、LinkedHashMap和TreeMap。 - 访问方式:通过键访问对应的值,例如
map.get(key)获取对应的值。 - 用法场景:适用于需要通过键快速查找值,或需要存储键值对的场景。
-
Map<String, Integer> map = new HashMap<>(); map.put("Apple", 1); map.put("Banana", 2); map.put("Apple", 3); // 键是唯一的,后一个值会覆盖前一个值 System.out.println(map.get("Apple")); // 输出: 3 System.out.println(map.size()); // 输出: 2 System.out.println(map.containsKey("Banana")); // 输出: true System.out.println(map.containsValue(2)); // 输出: true map.remove("Banana");
🌟感谢支持 听忆.-CSDN博客

| 🎈众口难调🎈从心就好 |















![【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 围棋的气(100分) - 三语言AC题解(Python/Java/Cpp)](https://i-blog.csdnimg.cn/direct/a69e594f252f4e90b5bb3aa98c40823d.png)


