一.list(列表)
- 允许重复元素。
- 有序,元素的顺序按照插入顺序排列。
- List接口的常见实现类有ArrayList(自动增长容量的数组)和LinkedList(双链表在删除添加有更好的性能)。
二.set(集合)
- 不允许重复元素,保证集合中的元素唯一性。
- 无序,元素的顺序可能不同于插入顺序。
- Set接口的常见实现类有HashSet和TreeSet。
三.map(映射)
- 包含键值对(key-value)的元素。
- 键(key)唯一,值(value)可重复。
- 无序,键值对的顺序可能不同于插入顺序,但可以通过特定的实现类如TreeMap进行排序。
- Map接口的常见实现类有HashMap和TreeMap。
四.区别
- List和Set都继承自Collection接口,而Map则是独立的接口。
- List和Set接口都继承了迭代器(Iterator)来遍历集合中的元素,而Map使用Entry对象来遍历键值对。
- List可以根据索引位置(位置从0开始)访问和操作元素,而Set和Map不能根据索引访问元素。