Возможно, где итерация отбрасывается, если collection
является картой
else if(collection instanceof Map) {
iterator = ((Map) collection).entrySet().iterator();
}
Если collection
определенно является HashMap , порядок элементов коллекции действительно выбрасывается в окно.
Если collection
является TreeMap , оно должно поддерживать порядок коллекции на основе сортировки. Однако, если вы сделаете TreeMap из массива сопоставимых объектов, вы не должны ожидать, что массив и TreeMap будут иметь одинаковый порядок, поскольку TreeMap будет сортировать содержимое массива.
И вы также можете получить какой-нибудь другой Collection
, который будет копаться с порядком, как HashSet , PriorityQueue и т. Д.
Однако, если collection
никогда не является картой и всегда массивом, Arrays.asList
должен поддерживать порядок. Мое предположение состоит в том, что ваши проблемы лежат либо вне вашего фрагмента кода, либо в одном из случаев, кроме того, где вы передали массив.