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

Java “这是什么意思?”;插入顺序保留在集合中;?,java,collections,Java,Collections,如果我们想要表示一组允许重复并且保留插入顺序的单个对象,那么我们应该选择List 这里,插入顺序指的是什么 插入顺序是用于在集合中添加元素的顺序 : HashSet-未定义 HashMap-未定义 LinkedHashSet-插入顺序 LinkedHashMap-键的插入顺序(默认情况下),或 “访问命令” ArrayList-插入顺序 LinkedList-插入顺序 TreeSet-根据可比数据按升序排列/ 比较器 有一些集合可以在添加元素时保留插入顺序,其他集合则不能。请参见此处插入顺序

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


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

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

:

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

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

插入顺序是指将元素添加到数据结构中的顺序(即,类似于
列表
集合
映射
等的集合)

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

首先,获取
列表
对象并添加元素:

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

输出(即
集合中的对象):[3X,2Y,1Z](顺序受干扰)插入顺序指插入数据的顺序

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);
    }
}
publicstaticvoidmain(字符串[]args){
列表=新的ArrayList();
列表。添加(“alpha”);
列表。添加(“测试版”);
列表。添加(“伽马”);
用于(字符串:列表){
System.out.println(字符串);
}
}
输出: 阿尔法 贝塔 伽马射线

保持插入顺序

如果您想要原始插入顺序,则有链接的
XXX
类,它们以插入顺序维护附加的链表。 大多数情况下,您不在乎,所以您使用散列
XXX
,或者如果您想要自然顺序,那么您可以使用Tree
XXX


元素添加到列表中的顺序是从列表中检索元素的顺序。如果您试图表示存储中的队列,则可能重复。您要确保记住客户输入的订单,以便他们可以按该订单提供服务。在这种情况下,您需要一个保留插入顺序的集合。可以通过迭代元素来检索插入元素的顺序。
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);
    }
}