У меня есть два ArrayLists в Java.Оба списка не отсортированы.
ArrayList<Integer> listOne = new ArrayList<>();
listOne.add(2);
listOne.add(1);
listOne.add(4);
listOne.add(8);
listOne.add(6);
ArrayList<String> listTwo = new ArrayList<>();
listTwo.add("ant");
listTwo.add("bear");
listTwo.add("cat");
listTwo.add("dog");
listTwo.add("zebra");
Я хочу отсортировать listOne в естественном порядке, и каждый элемент спискаTwo должен быть отсортирован в соответствии с положением в listOne:
То, что у меня пока есть:
Collections.sort(listOne);
for (int i = 0; i < listOne.size(); i++) {
int intTest = listOne.get(i);
String stringTest = listTwo.get(i);
System.out.println(intTest);
System.out.println(stringTest);
}
Это печатает:
1 ant, 2 bear, 4 cat , 6 dog , 8 zebra
Мой ожидаемый вывод на печать:
1 bear, 2 ant, 4 cat, 6 zebra, 8 dog
Так что, когда элемент listOne "1", это изменило положение со 2-го на 1-еэлемент «медведь» в списке listwo, который был на 2-й позиции, должен также печататься на 1-й позиции.
Какой самый простой и эффективный способ сделать это?