如果我们想表示一组允许重复并且保留插入顺序的单个对象,那么我们应该使用List。
这里,插入顺序指的是什么?
插入顺序是指插入数据的顺序。
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类,这些类在插入顺序中维护一个额外的链接列表。大多数时候你不在乎,所以你使用散列,或者如果你想要一个自然的顺序,那么你使用树。
插入顺序是用于在集合中添加元素的顺序。
上述实现的迭代顺序:
有些集合可以在添加元素时保留插入顺序,而其他集合则不能。请参考此链接
插入顺序是指向数据结构添加元素的顺序(即,像列表、集合、映射等集合)。
例如,List
对象维护添加元素的顺序,而Set
对象不维护插入元素的顺序。
首先,获取列表对象并添加元素:
List<String> list = new ArrayList<>();
list.add("1Z");
list.add("2Y");
list.add("3X");
System.out.println(list);
输出(即列表中的对象):[1Z、2Y、3X](顺序与插入相同)
现在,取一个Set
对象:
Set<String> set = new HashSet<>();
set.add("1Z");
set.add("2Y");
set.add("3X");
System.out.println(set);
输出(即集合内的对象):[3X,2Y,1Z](顺序受干扰)
问题内容: 为什么某些集合数据结构不能保持插入顺序?与保持插入顺序相比,有什么特别的事情?如果不维持订单,我们会有所收获吗? 问题答案: 性能。如果您想要原始的插入顺序,则可以使用LinkedXXX类,它们在插入顺序中维护着一个附加的链表。大多数时候,您都不在乎,因此您使用HashXXX,或者想要自然订单,因此您使用TreeXXX。在这两种情况下,您为什么都要支付链接列表的额外费用?
问题内容: 我不明白在python中如何通过“任意”顺序循环遍历字典或集合。 我的意思是,这是一种编程语言,所以语言中的一切都必须100%确定,对吗?Python必须有某种算法来决定选择字典或集合的哪个部分,1,2等等。 我错过了什么? 问题答案: 顺序不是任意的,而是取决于字典或集合的插入和删除历史,以及特定的Python实现。对于这个答案的其余部分,对于,你还可以读取;被实现为只有键而没有值的
包含由管道分隔的数字列表的文件可以有重复项。需要编写map reduce程序,在原始输入顺序中列出不重复的数字。我可以删除重复项,但不保留输入顺序。
问题内容: 以下代码以相同的插入顺序为我提供了输出。我阅读了Javadoc,他们甚至没有谈论插入顺序。有人可以帮助我获取正确的信息。 问题答案: 不,不是的。要保留插入顺序,请改用(javadoc)。 而且,现在优先于,因为它具有不必要的并发开销。(请参见HashMap和Hashtable之间的区别?。)
LinkedHashMap将所有调用委托给其父HashMap。它还支持基于accessOrder值的访问顺序和插入顺序。如果accessOrder:true,则使用访问顺序,否则使用accessOrder:false插入顺序 公共LinkedHashMap(int初始容量、浮点加载因子、布尔访问顺序) 但LinkedHashMap如何在内部支持对象的访问顺序和插入顺序呢?
本文向大家介绍在Kafka集群中保留期的目的是什么?相关面试题,主要包含被问及在Kafka集群中保留期的目的是什么?时的应答技巧和注意事项,需要的朋友参考一下 答:保留期限保留了Kafka群集中的所有已发布记录。它不会检查它们是否已被消耗。此外,可以通过使用保留期的配置设置来丢弃记录。而且,它可以释放一些空间。