A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 技术小牛 中级黑马   /  2016-4-19 22:36  /  4180 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

8黑马币

最佳答案

查看完整内容

前 - 后 升序 后 - 前 降序排列

6 个回复

倒序浏览
前 - 后   升序
后 - 前 降序排列
回复 使用道具 举报
前 - 后   升序                                       后 - 前          降序排列
回复 使用道具 举报
自然排序就是升序,:储存在集合中的对象必须实现comparable借口
比较器排序:就是在set的构造方法中传一个Comparator的子类对象,
Comparator是一个接口,所以需要一个类实现该接口,并重写comapre(To1,To2)方法,
回复 使用道具 举报
如楼上所说,Compare(T2,T1)就可以降序排列了
回复 使用道具 举报
3楼说的是对的
回复 使用道具 举报
import java.util.Comparator;
import java.util.TreeMap;

import com.studyself.bean.Person;

public class Demo7_TreeMap {
    public static void main(String[] args) {
    //    demo1();
        TreeMap<Person, String> tm = new TreeMap<>(new Comparator<Person>() {

            @Override
            public int compare(Person o1, Person o2) {
                // TODO Auto-generated method stub
                int num = o1.getName().compareTo(o2.getName());
                return num == 0 ? o1.getAge() - o2.getAge() : num;
            }
        });
        tm.put(new Person("张三", 23), "北京");
        tm.put(new Person("李四", 24), "上海");
        tm.put(new Person("王五", 25), "广州");
        tm.put(new Person("赵六", 26), "深圳");
        System.out.println(tm);
    }

    private static void demo1() {
        TreeMap<Person, String> tm = new TreeMap<>();
        tm.put(new Person("张三", 23), "北京");
        tm.put(new Person("李四", 24), "上海");
        tm.put(new Person("王五", 25), "广州");
        tm.put(new Person("赵六", 26), "深圳");
        System.out.println(tm);
    }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马