它是什么意思"插入订单保留在集合"?

时间:2017-04-04 22:51:31

标签: java collections

如果我们想要表示一组允许重复的单个对象并保留插入顺序,那么我们应该去List。

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

3 个答案:

答案 0 :(得分:6)

插入顺序是指向数据结构添加元素的顺序(即ListSetMap等集合。)

例如,List对象维护您添加元素的顺序,而Set对象不维护插入元素的顺序。

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

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

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

现在,取一个Set对象:

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

输出(即Set内的对象):[3X,2Y,1Z](顺序不安)

答案 1 :(得分:5)

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

Iteration order for above implementations

  • HashSet - 未定义。
  • HashMap - undefined
  • LinkedHashSet - 广告订单
  • LinkedHashMap - 键的插入顺序(默认情况下),或 &#39;访问订单&#39;
  • ArrayList - 插入顺序。
  • LinkedList - 广告订单。
  • TreeSet - 升序,根据Comparable / 比较器。

有些集合可以在添加元素时保留插入顺序,其他则不能。请参阅此link

答案 2 :(得分:2)

广告订单是指我们插入数据的顺序。

public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("alpha");
    list.add("beta");
    list.add("gamma");

    for (String string : list) {
        System.out.println(string);
    }
}

输出 α 公测 伽马

维持广告订单。

  

如果您想要原始广告订单,则链接XXX   类,按插入顺序维护其他链接列表。   大部分时间你都不在乎,所以你使用哈希XXX,或者你想要一个自然的顺序,所以你使用树XXX