我有一个不可比较的对象列表。但是,我仍然想根据提供的索引位置数组对这个对象列表进行排序。对此列表进行排序的最快和最有效的方法是什么?这是一个例子:
List<Colour> list = new ArrayList<Colour>();
list.add(Colour.BLUE);
list.add(Colour.GREEN);
list.add(Colour.RED);
list.add(Colour.YELLOW);
list.add(Colour.GREEN);
int[] order = new int[] {3, 1, 2, 0, 4};
最终列表应如下所示:
[YELLOW, GREEN, RED, BLUE, GREEN]
我的具体要求是 Java 解决方案,但我也有兴趣了解其他语言的解决方案。