[英]Collection.sort() second sorting based on first ordering
我正在嘗試排序的List<RSSQuestion>
有一個問題List<RSSQuestion>
:首先是它們的keyActivity
,然后在每個keyActivity
中都有subActivities
; 我需要根據subActivities
整理問題。
例如:
我擁有的代碼如下,該代碼基於keyActivity
排序問題,但是我不知道如何基於subActivity
進行第二次排序:
private static List<RSSQuestion> sortingExtractedData(List<RSSQuestion> extractedDataByKeyactivity) {
List<RSSQuestion> exctractedData = new ArrayList<>();
Collections.sort(extractedDataByKeyactivity, new Comparator<RSSQuestion>() {
@Override
public int compare(RSSQuestion o1, RSSQuestion o2) {
return o1.getKeyActivity().compareTo(o2.getKeyActivity());
}
});
for (RSSQuestion rssQuestion : extractedDataByKeyactivity) {
Collections.sort(rssQuestion.getSubActivity(), new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
});
}
exctractedData.addAll(extractedDataByKeyactivity);
return exctractedData;
}
請讓我知道,如何對其余subActivities
進行排序?
所有這些都應該由一個Comparator
完成,但是只有在KeyActivity
相同時(即keyActivityCompare == 0
),您才轉到SubActivity
:
Collections.sort(extractedDataByKeyactivity, new Comparator<RSSQuestion>() {
@Override
public int compare(RSSQuestion o1, RSSQuestion o2) {
int keyActivityCompare = o1.getKeyActivity().compareTo(o2.getKeyActivity());
if (keyActivityCompare == 0)
return o1.getSubActivity().compareTo(o2.getSubActivity());
return keyActivityCompare;
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.