从 Arrays.asList 返回的列表是否与原始数组集合保持相同的顺序?
我有一个ArrayList,我正在迭代几次,它看起来没有保持迭代的顺序。我看了更深,似乎为此迭代(由其他人)编写的自定义迭代器标记首先在ArrayList中采用传递的标记,并在迭代之前使用Arrays.asList将其桥接到Object[]集合。迭代的顺序是否丢失了?Arrays.asList 是否预料到这一点?
编辑:
以下是该操作对传递到迭代器标记中的原始集合执行的操作:
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();
}