有没有办法对数组进行排序并将结果存储在列表中引用的原始数组位置的链表中?
所以
0 bbb 1 aaa 2 ccc
将成为链接列表
1 aaa 0 bbb 2 ccc
谢谢
答案 0 :(得分:3)
MyClass[] array = new MyClass[n];
// fill the array
Arrays.sort(array);
List<MyClass> list = new LinkedList<Class>(Arrays.asList(array));
答案 1 :(得分:0)
您可以使用TreeMap
:
final SortedMap<String, Integer> map = new TreeMap<String, Integer>(array.length);
for (int index = 0; index < array.length; i++)
map.put(array[index], index);
因此,键是顺序的字符串,原始aray中的位置是值。但是存储String 和其原点位置需要一个专用结构。或者,地图的Map.Entry<String, Integer>
条目可能足以满足您的需求。这取决于你想做什么。