treemap是按键的ASCII码从小到大排序的,比如要对若干个带有时间属性的对象排序时,可以用时间作键,放到Treemap中,即是有序集合了.先不管性能,省了很多自己写排序的实现了.
默认是按key的ASCII码顺序由小到大排序的,如果要实现自定义的排序,则要重写treemap的比较器.
最简单的方法就是使用集合对象自带的方法,Collections.reverseOrder()
具体代码如下package com.example.commonwtf2.test;
import java.util.Collections;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import org.junit.Test;
public class ExerciseTreeMap {
/**
* @see: 反序输出treemap
* */
@Test
public void outputTreeMap(){
Map tMap = new TreeMap<>();
for(long i=0;i<40;i++){
tMap.put(i, i);
}
int i=0;
Set longSet = new HashSet<>();
for (long key : tMap.keySet()) {
if (i<20) {
System.out.println(key &