gpt4 book ai didi

Java 排序集合

转载 作者:行者123 更新时间:2023-12-01 23:27:11 25 4
gpt4 key购买 nike

我有这张 map :

Map<Integer,List<EventiPerGiorno>> mapEventi=new HashMap<Integer,List<EventiPerGiorno>>();

其中EventiPerGiorno是一个Comparable对象。如何从 map 中获取排序列表?

我尝试过

Collection<List<EventiPerGiorno>> collection=mapEventi.values()
Comparable.sort(collection);

但是 Comparable.sort() 不喜欢列表具有可比性。有比较列表吗?

编辑

这是类似的方法...

public class EventiPerGiorno implements Comparable<EventiPerGiorno>{


@Override
public int compareTo(EventiPerGiorno o) {
return this.getPrimoSpettacolo().compareTo(o.getPrimoSpettacolo());
}

}

最佳答案

Java Collections没有任何与其关联的订单。您可以将 Collection进入List先排序,再排序。

Collection<List<EventiPerGiorno>> collection = mapEventi.values()
YourComparableList<List<EventiPerGiorno>> list = new YourComparableList(collection);
Collections.sort(list);

为此,您需要创建某种 List实现 Comparable 。请参阅How do I correctly implement Comparable for List in this instance?举个例子。

请注意,这是对 List<EventiPerGiorno> 类型的对象进行排序,而不是 EventiPerGiorno 类型的对象。如果您有兴趣对后者进行排序,您可能需要这样:

ArrayList<EventiPerGiorno> bigList = new ArrayList<EventiPerGiorno>();
for (List<EventiPerGiorno> list : mapEventi.values()) {
bigList.addAll(list);
}
Collections.sort(bigList);

关于Java 排序集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19814287/

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