【发布时间】:2019-06-18 17:13:05
【问题描述】:
我有一个包含对的集合列表,我应该按照集合对键的字母顺序对列表进行排序,我目前的解决方案是通过覆盖 add 方法来保持列表排序,如下面的代码。
注意:列表集合对键始终相同
(汽车,1)(汽车,1)
(熊,1)
所以我只需要获取集合的第一对键即可对其进行排序
List<Collection<Pair<String, Integer>>> shufflingResult;
public void init() {
shufflingResult = new ArrayList<>() {
public boolean add(Collection<Pair<String, Integer>> c) {
super.add(c);
Collections.sort(shufflingResult, new Comparator<Collection<Pair<String, Integer>>>() {
@Override
public int compare(Collection<Pair<String, Integer>> pairs, Collection<Pair<String, Integer>> t1) {
return pairs.iterator().next().getKey().compareTo(t1.iterator().next().toString());
}
});
return true;
}
};
}
这是我正在寻找的最佳性能方式吗?
【问题讨论】:
-
应该在代码审查堆栈上
标签: java list performance collections