我有一个数组列表[Mod8, Mod5, Mod9, Mod10]
和一个整数数组[1, 0, 2, 3]
。[Mod5, Mod8, Mod9, Mod10]
我需要一个根据整数数组中的数字的输出列表。关于如何做到这一点的任何想法?
问问题
89 次
3 回答
2
List<String> original = new ArrayList<String>();
original.add("Mod8");
original.add("Mod5");
original.add("Mod9");
original.add("Mod10");
int[] sortIndexArray = new int[] { 1, 0, 2, 3 };
List<String> sorted = new ArrayList<String>(original.size());
for (int i = 0; i < sortIndexArray.length; i++) {
sorted.add(original.get(sortIndexArray[i]));
}
System.out.println(sorted); // [Mod5, Mod8, Mod9, Mod10]
于 2012-08-20T19:04:50.233 回答
1
由于您的 2 个列表似乎紧密联系在一起,因此我将创建一个Pair<Int,String>
对象将它们联系在一起,并为该Pair
对象编写一个比较器。
否则,您必须在两者更改时保持同步,这将是有问题的。
于 2012-08-20T19:10:23.850 回答
0
一种方法是创建一个实现类似接口的类。然后使用整数值覆盖 compareTo() 函数,以您需要的方式比较它们。希望有帮助!
于 2012-08-20T19:12:07.767 回答