Java
Iterators
或Enhanced Loops
按插入顺序保证结果?如果答案需要,请详细说明Java如何处理订购。
有问题的实际数据结构示例:
1. Vector<String[]>
2. Iterator<String[]>
但我的问题是对所有各种数据结构感到好奇。
问题涉及Oracle SQL数据库结果。我运行一个有序查询,我希望按照这个确切的顺序访问数据。
答案 0 :(得分:6)
Java没有为这些提供任何保证,但在某些情况下,项目将按特定顺序迭代:
这一切都取决于你正在迭代什么,以及特定的实现。
答案 1 :(得分:2)
是和否。
这取决于集合的类型。例如 - ArrayList将按添加顺序迭代,但set不会。
答案 2 :(得分:1)
我认为你的意思是“插入顺序”而不是“创造”。如果是这样,那么对于像ArrayList这样的有序集合,答案是肯定的。
答案 3 :(得分:1)
增强循环只是像Java运行时一样使用迭代器。 总答案是否定的。例如,当使用SortedSets或HashSets和...时,检索项目的顺序与向集合添加项目的顺序不同。
列表是集合,应保留放入其中的项目的顺序。