我正在使用Java 1.8.0_144,我在IntelliJ IDEA 2017.2.2中使用调试器。现在我的问题是了解我重新创建的某段代码发生了什么。
我知道我可能正在做我不需要的事情,但我只是想了解这里发生了什么,如果有人能向我解释的话。 (代码在底部)。
当我在调试器中运行它时,它会按照我的预期打印出来:
第一
第二
但是当我正常运行时,会打印出来:
第二
第一
当我在程序结束附近翻转ArrayList并运行它时,我能够获得正确的顺序,但我不知道为什么我必须翻转它或导致这种情况的原因。出于某种原因,当我正常运行时,ArrayList会被翻转。
以下是我正在使用的导入:
java.util.ArrayList;
java.util.Dictionary;
java.util.Enumeration;
java.util.Hashtable;
代码:
public static void main(String[] args) {
ArrayList<String> arrLs = new ArrayList<>();
Dictionary<String, Integer> table = new Hashtable<>();
table.put("First", 1);
table.put("Second", 2);
Enumeration<String> enumer = table.keys();
while(enumer.hasMoreElements()) {
String str = enumer.nextElement();
arrLs.add(str);
}
for(String s : arrLs) {
System.out.println(s);
}
}