TreeMap中如何实现自定义类key值的排序

时间:2025-04-03 19:47:46

在TreeMap中,如果key值是java中的基本类型,TreeMap会自身帮我们排序,如果是自定义类型,如定义一个Student类作为key值,我们如果不告知排序规则的话,运行就会报错。所以,如何实现自定义排序呢?解决方案有2个,二者选一即可:

在Student类中实现Comparable,重写compareTo方法
在构造函数中new Comparator,匿名内部类,重写compare 方法
 

TreeMap<String,List<ZTreeDTO>> retultMap = new TreeMap<String,List<ZTreeDTO>>(new Comparator<String>(){
			@Override
			public int compare(String o1, String o2) {
				o1 = getTypeByProjectName(o1);
            	o2 = getTypeByProjectName(o2);
                return  (o2);
			}
        });

 

相关文章