Ich habe eine ArrayList, die ich über mehrere Male iteriert, und es sieht aus wie es nicht die Reihenfolge der Iteration beibehalten wird. Ich schaute tiefer, und es scheint, dass die benutzerdefinierte Iterator-Tag, die für diese Iteration (von jemand anderem) geschrieben wurde, ist zunächst die übergebene ArrayList und mit Arrays.asList, um es zu einem Object[] Sammlung vor Iteration zu überbrücken. Ist die Reihenfolge der Iteration verloren gehen? Ist das mit Arrays.asList erwartet?
EDIT:
Im Folgenden wird beschrieben, was der Vorgang mit der ursprünglichen Sammlung macht, die an das Iterator-Tag übergeben wurde:
if(collection.getClass().isArray()) {
iterator = Arrays.asList((Object[]) collection).iterator();
} else if(collection instanceof Collection) {
iterator = ((Collection) collection).iterator();
} else if(collection instanceof Iterator) {
iterator = (Iterator) collection;
} else if(collection instanceof Map) {
iterator = ((Map) collection).entrySet().iterator();
}