Java中List、Set、Map三种集合之间的区别
- 1. List
- 2. Set
- 3. Map
在Java中,List、Set和Map是三种常见的集合类型,它们之间也有一些重要的区别:
1. List
- List是
有序
集合,可以存储重复
元素。 - List的实现类常见有
ArrayList
、LinkedList
和Vector
。 - 可以通过
索引
访问List中的元素,可以根据索引添加、删除和修改元素。 - 常用的操作包括
get(index)
、add(element)
、remove(index)
等。
代码如下:
import java.util.ArrayList;
import java.util.List;public class ListExample {public static void main(String[] args) {// 创建一个ArrayListList<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)
等。
代码如下:
import java.util.HashSet;
import java.util.Set;public class SetExample {public static void main(String[] args) {// 创建一个HashSetSet<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)
等。
代码如下:
import java.util.HashMap;
import java.util.Map;public class MapExample {public static void main(String[] args) {// 创建一个HashMapMap<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类详解 |