Treemap使用comparator例子
时间: 2024-01-25 07:03:03 浏览: 142
Treemap使用comparator例子可以参考以下代码:
```
import java.util.Comparator;
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;
public class TreeMapExample {
public static void main(String[] args) {
// 创建一个TreeMap,并使用自定义的Comparator比较器
SortedMap<String, Integer> treeMap = new TreeMap<>(new MyComparator());
// 往TreeMap中插入数据
treeMap.put("apple", 1);
treeMap.put("banana", 2);
treeMap.put("orange", 3);
treeMap.put("lemon", 4);
treeMap.put("grape", 5);
// 遍历TreeMap并输出
for (Map.Entry<String, Integer> entry : treeMap.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
// 自定义Comparator比较器,按照字符串长度倒序排序
static class MyComparator implements Comparator<String> {
@Override
public int compare(String o1, String o2) {
return Integer.compare(o2.length(), o1.length());
}
}
}
```
这个例子中,我们创建了一个TreeMap对象并使用自定义的Comparator比较器进行排序。排序规则是按照字符串长度倒序排列,这样的话输出的结果是:
```
orange : 3
lemon : 4
grape : 5
banana : 2
apple : 1
```
阅读全文