gpt4 book ai didi

java - Collection.sort() 基于第一次排序进行第二次排序

转载 作者:行者123 更新时间:2023-12-01 06:52:05 24 4
gpt4 key购买 nike

我在 List<RSSQuestion> 中有一个问题列表,我正在尝试对其进行排序:首先是他们的 keyActivity ,然后在每个 keyActivity 中有subActivities ;我需要根据subActivities来整理问题。

例如:

  1. 轮廓设计(keyActivity)
    1. 子 Activity 一
  2. 规范(keyActivity)
    1. 概览
    2. 待办事项

我的代码如下,它根据 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 来完成,但您只转到 SubActivityKeyActivity是相同的(即 keyActivityCompare == 0 ):

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;
}
});

关于java - Collection.sort() 基于第一次排序进行第二次排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22763790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com