Java中List、Set、Map三种集合之间的区别
-
-
- [1. List](#1. List)
- [2. Set](#2. Set)
- [3. Map](#3. Map)
-
在Java中,List、Set和Map是三种常见的集合类型,它们之间也有一些重要的区别:
1. List
- List是
有序集合,可以存储重复元素。 - List的实现类常见有
ArrayList、LinkedList和Vector。 - 可以通过
索引访问List中的元素,可以根据索引添加、删除和修改元素。 - 常用的操作包括
get(index)、add(element)、remove(index)等。
代码如下:
java
import java.util.ArrayList;
import java.util.List;
public class ListExample {
public static void main(String[] args) {
// 创建一个ArrayList
List<String> list = new ArrayList<>();
// 添加元素
list.add("1");
list.add("1");
list.add("2");
// 遍历列表并打印元素
for (String num: list) {
System.out.println(num);
}
}
}
2. Set
- Set是
无序集合,不允许存储重复元素。 - Set的实现类常见有
HashSet、TreeSet和LinkedHashSet。 - 可以用来判断元素是否存在、添加元素、删除元素等。
- 常用的操作包括
add(element)、contains(element)、remove(element)等。
代码如下:
java
import java.util.HashSet;
import java.util.Set;
public class SetExample {
public static void main(String[] args) {
// 创建一个HashSet
Set<String> set = new HashSet<>();
// 添加元素
set.add("1");
set.add("1");
set.add("2");
// 遍历集合并打印元素
for (String num: set) {
System.out.println(num);
}
}
}
3. Map
- Map是
键值对的集合,每个键对应一个值,键不允许重复,值可以重复。 - Map的实现类常见有
HashMap、TreeMap、LinkedHashMap。 - 可以通过键来获取对应的值,也可以添加、删除键值对。
- 常用的操作包括
put(key, value)、get(key)、remove(key)等。
代码如下:
java
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
// 创建一个HashMap
Map<Integer, String> map = new HashMap<>();
// 添加键值对
map.put(1, "1");
map.put(2, "1");
map.put(3, "2");
// 遍历Map并打印键值对
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
}
}
总结一下:
List是有序集合,可以存储重复元素,通过索引访问。Set是无序集合,不允许存储重复元素,用于判断元素是否存在。Map是键值对的集合,键不允许重复,通过键获取值。
|----------------------------------------------------------------------------------------------|----------------------|----------------------------------------------------------------------------------------|
| 上一篇 面试官:你用过Collections工具类吗? | 记得点赞收藏哦!!! | 下一篇 Java------File类详解 |