Java集合框架中List与Set的异同对比
Java集合框架中的List和Set都是用来存储多个对象的数据结构,但它们在元素存储、插入方式以及查询行为等方面存在明显的不同。
相同点:
- 都是基于数组实现的(List为双向链表,但也以数组形式进行操作)。
- 都支持通过索引来访问或修改元素。
不同点:
存储方式: List允许重复元素,而Set不允许重复元素。
- 列如:List
list = new ArrayList<>(); // 可以添加重复的字符串 - Set则需要每个元素都是唯一的。
- 例如:Set
set = new HashSet<>(); // 不允许出现重复的字符串
- 列如:List
插入方式: List支持在任何位置插入元素,而Set只允许在末尾添加新元素。
- 例如:
列表插入(List
list): list.add(0, "Element1")); // 在列表开头插入
list.add("Element2", 3); // 在指定位置插入
Set插入(Set
set): set.add("Element3"); // 只能在末尾添加新元素
总结来说,List和Set都是用来存储对象的集合,但它们在元素的唯一性、插入方式等方面存在显著差异。
还没有评论,来说两句吧...