【发布时间】:2021-04-11 02:13:16
【问题描述】:
我想问一下arraylist重新排列
如果我有 2 个这样的数组列表
ArrayList<A> listA;
ArrayList<B> listB;
如果我像这样重新排列 listA
private static class Descending implements Comparator<A> {
@Override
public int compare(A arrayListA, A t1) {
return t1.getLasttime().compareTo(arrayListA.getLasttime());
}
}
private void setListTimeSort(ArrayList<A> arrayListA) {
Descending descending = new Descending();
Collections.sort(arrayListA, descending);
}
我想一起换位置listB。
简单示例:
listA before = 1, 2, 3, 4
listB before = a, b, c, d
如果 listA 改变 = 2, 1, 4, 3,我想 listB 改变相同位置 item = b, a, d, c.
我改变了listA,但我不知道如何改变listB(像listA一样改变位置)。
【问题讨论】:
-
并行列表有点反模式,建议您改为使用类(或记录)来保存 A 和 B 值,并使用该类的实例填充单个列表。在这个解决方案中,只有一个列表可以排序,A 和 B 可以一起使用。
标签: java android arraylist position