使用另一个排序列表排序多个列表?

时间:2018-02-22 19:03:06

标签: java list

是的,我知道,标题并不是真的很重要。 这就是我想要做的:   香蕉| 3      菠萝| 2      Apple | 1 我通过[list]打印不同列表的输出.get(i)+" |" + [anotherList] .get(i) 现在,我想按字母顺序排序[list],同时保持与其链接的其他列表 这应该是预期的输出:   Apple | 1      香蕉| 3      菠萝| 2 我怎么能这样做?显然我在排序列表本身时没有遇到麻烦,我无法将所有内容整合在一起。此外,我有更多的列表而不是2(这里没有显示)。

1 个答案:

答案 0 :(得分:0)

我建议您为HashMap项使用list。键将是list项,相应的值将是其他列表中的条目。例如,您有3个列表。这些是listanotherListanotherList2

首先,您可以正确设置与list键关联的值。首先为此声明HashMap

Map<String, ArrayList<String>> map = new HashMap<>();

现在像这样填充地图中的数据。

for(int i = 0; i < list.size(); i++) {
    ArrayList<String> otherItems = new ArrayList<>();
    otherItems.add(anotherList.get(i));
    otherItems.add(anotherList2.get(i));
    map.put(list.get(i), otherItems);
}

现在只需对list进行排序,以便按字母顺序排序水果,从而通过在HashMap中搜索,从这两个不同的列表中获取与之关联的相应值。

list.get(i) + "|" + getValuesSeperatedWithABar(map.get(list.get(i)))

我希望你明白这个主意。