【发布时间】:2014-10-19 08:51:05
【问题描述】:
我有一个数组列表和一个字符串数组。 String 数组包含 ID,Array List 包含 ID 和与这些 ID 相关的信息。此 ArrayList 的顺序不理想。我有一个 Id 的字符串数组,按照我希望它们在 ArrayList 中的顺序排列。
半伪代码示例:
ArrayList<MyObject> myList = new ArrayList<MyObject>();
for (every username)
{
myList.add(new MyObject(id, username, content, country);
}
String[] ids = new String[myList.size()];
...Ids are added and sorted here...
我现在有一个按正确顺序排列的 ID 列表。 “myList”中的每个 Id 对应于“ids”字符串数组中的一个 Id。我想根据“ids”字符串数组中对应id的顺序对“myList”进行排序。
如何以这种方式重新排序我的 ArrayList?
Eg. if in Array list I have:
1. 123, Bob, test, USA
2. 1234, Vladimir, test, USA
3. 12345, Yoseph, test, USA
and in the String[] I have:
1. 1234
2. 123
3.12345
如何根据字符串数组中的 Id 对 ArrayList 重新排序,从而产生:
1. 1234, Vladimir, test, USA
2. 123, Bob, test, USA
3. 12345, Yoseph, test, USA
【问题讨论】:
-
id 数组的目的是什么?你真的需要它还是“只是”对列表进行排序?
-
我正在使用一个库,它获取我的 id 并根据许多因素对它们进行排序,以特定顺序生成 ID 字符串数组。然后我需要重新排序我的数组列表(其中包含链接到每个 id 的所有信息)以匹配此顺序。
-
啊哈——酷。太糟糕了,图书馆不能接受一个对象......
-
虽然您仍然需要 Comparator 来进行排序(如在各种答案中),但请请使用 Map 而不是一堆数组。
标签: java arraylist multidimensional-array arrays