package demo02; import org.junit.Test; import java.util.Comparator; import java.util.Map; import java.util.TreeMap; /** * @description: demo02 * @author: liuyang * @create: 2021-09-03 18:33 */ public class Demo02 { /** * TreeMap的key的类型必须都是相同的 */ @Test public void test1() { /** * 自然排序,按照key排序,key必须实现Comparable接口 */ Map<String, String> map = new TreeMap(); map.put("DDD", "aaaa"); map.put("CCC", "bbb"); map.put("AAA", "aaa"); map.forEach((key, value) -> { System.out.println(key); System.out.println(value); }); } @Test public void test2() { /** * 定制排序,同样是按照key排序 */ Map<String, String> map = new TreeMap(new Comparator<String>() { @Override public int compare(String o1, String o2) { // 按照key降序排序 return o2.compareTo(o1); } }); map.put("DDD", "aaaa"); map.put("CCC", "bbb"); map.put("AAA", "aaa"); map.forEach((key, value) -> { System.out.println(key); System.out.println(value); }); } }