java有两个ArryList,每组数据对应,将其中一组ArryList排序,另一组要怎么与之对应
时间: 2023-06-26 09:07:58 浏览: 116
java中对ArrayList进行排序
5星 · 资源好评率100%
可以使用 Java 中的 TreeMap 来实现两个 ArrayList 的对应关系。具体思路如下:
1. 将需要排序的 ArrayList 进行排序。
2. 创建一个 TreeMap 对象,用来存储排序后的 ArrayList 的元素和它们在原 ArrayList 中的下标。
3. 遍历排序前的 ArrayList,将每个元素和它在 ArrayList 中的下标作为键值对存入 TreeMap 中。
4. 遍历另一个 ArrayList,通过 TreeMap 中对应的下标获取对应的元素,即可实现两个 ArrayList 的对应。
示例代码如下:
```java
// 需要排序的 ArrayList
ArrayList<Integer> list1 = new ArrayList<>();
list1.add(5);
list1.add(3);
list1.add(1);
list1.add(4);
list1.add(2);
// 创建 TreeMap 对象
TreeMap<Integer, Integer> map = new TreeMap<>();
// 将需要排序的 ArrayList 进行排序,并将元素和它们在原 ArrayList 中的下标存入 TreeMap 中
Collections.sort(list1);
for (int i = 0; i < list1.size(); i++) {
map.put(list1.get(i), i);
}
// 另一个 ArrayList
ArrayList<String> list2 = new ArrayList<>();
list2.add("apple");
list2.add("banana");
list2.add("orange");
list2.add("pear");
list2.add("watermelon");
// 遍历另一个 ArrayList,通过 TreeMap 中对应的下标获取对应的元素
for (int i = 0; i < list2.size(); i++) {
int index = map.get(list1.get(i));
System.out.println(list2.get(index));
}
```
输出结果为:
```
watermelon
orange
apple
pear
banana
```
阅读全文