[Java] 如何排序多個ArrayLists基於另一個秩序?


Answers

您可以保存每個出發時間的索引,然後在Hashmap<String, Integer>進行排序。 然後像往常一樣只對該列表進行排序,然後再將索引保存在另一個hashmap中。

現在你知道一個給定的字符串在排序之前在位置n ,現在在排序後在n'位置。 所以你可以用這個信息手動交換其他列表的元素。

這種方法很脆弱,因為如果列表中有重複的元素,那麼在排序之後就不知道哪一個是哪個元素。 所以你最好在其他答案中建議創建一個容器類。

Question

我很難找出最好的方法來排序基於一個列表的排序順序的多個列表。 目前,這些名單是根據其指數排列的。 departureTime列表以格式(00:00 AM / PM)保存時間串。 他們是這樣初始化的:

public static List<String> departureTime = new ArrayList<String>();
public static List<String> mode = new ArrayList<String>(); 
public static List<String> busNo = new ArrayList<String>();
public static List<String> busStopName = new ArrayList<String>();
public static List<String> arrivalTime = new ArrayList<String>();
public static List<String> dur = new ArrayList<String>();

我需要根據出發時間的排序順序將所有列表排序在departureTime ArrayList中。 在不改變結果數據結構的情況下,排序這些列表的最好方法是什麼? 任何援助將不勝感激。

謝謝,

馬特




Links