“插入顺序保留在集合中”是什么意思?

Sha*_*shi 3 java collections

如果要表示一组允许重复且保留插入顺序的单个对象,则应使用List。

在这里,插入顺序指的是什么?

dev*_*per 6

插入顺序指的是在其中添加元素的数据结构(即,像一个集合的顺序ListSetMap等。)

例如,一个List对象保持添加元素的顺序,而一个Set对象不保持插入元素的顺序。

首先,获取一个List对象并添加元素:

List<String> list = new ArrayList<>();
list.add("1Z");
list.add("2Y");
list.add("3X");
System.out.println(list);
Run Code Online (Sandbox Code Playgroud)

输出(即内部的对象List):[1Z,2Y,3X](顺序与插入相同)

现在,拿一个Set对象:

Set<String> set = new HashSet<>();
set.add("1Z");
set.add("2Y");
set.add("3X");
System.out.println(set);
Run Code Online (Sandbox Code Playgroud)

输出(即内部的物体Set):[3X,2Y,1Z](顺序受干扰)


fre*_*dev 5

插入顺序是用于在集合中添加元素的顺序。

以上实现的迭代顺序

  • HashSet-未定义。
  • HashMap-未定义
  • LinkedHashSet-插入顺序
  • LinkedHashMap-键的插入顺序(默认情况下)或“访问顺序”
  • ArrayList-插入顺序。
  • LinkedList-插入顺序。
  • TreeSet-按可比/比较器的升序。

有集合可以在添加元素时保留插入顺序,而其他集合则不能。请参考此链接