我的地图的值类型是 List<Pair<Integer, String>>
我想按列表中第一对的左侧对其进行排序。但是有一个错误说:
构造函数
TreeMap<String,List<Pair<Integer,String>>> (Comparator<List<Pair<Integer,String>>>)
未定义
这是我的代码:
import java.util.TreeMap;
import org.apache.commons.lang3.tuple.Pair;
Map<String, List<Pair<Integer, String>>> data = new HashMap<String, List<Pair<Integer,String>>>();
....
Comparator<List<Pair<Integer, String>>> valueComparator = new Comparator<List<Pair<Integer, String>>>() {
@Override
public int compare(List<Pair<Integer, String>> o1,
List<Pair<Integer, String>> o2) {
int rzt = o1.get(0).getLeft() - o2.get(0).getLeft();
return rzt;
}
};
TreeMap<String, List<Pair<Integer, String>>> sortedByValues = new TreeMap<String, List<Pair<Integer, String>>>(valueComparator);
sortedByValues.putAll(data);