TreeMap的排序功能,构造方法

/**
 *    /*
         * 练习二:
         * 学生对象(姓名,年龄)都有自己的归属地,既然有对应关系。
         * 将学生对象和归属地存储到map集合中。
         * 注意:同姓名同年龄视为重复的键。

                      按照学生的年龄进行从小到大的排序。
         * 如果要对学生按照姓名排序呢?

 */
public class Practise2 {

    public static void main(String[] args) {
        /*创建Map集合*/
        Map<Student,String> classMap = new HashMap<Student,String>();
        classMap.put(new Student("小明",15), "上海");
        classMap.put(new Student("小李",15), "沈阳");
        classMap.put(new Student("小徐",13), "武汉");
        classMap.put(new Student("小明",15), "上海");        //视为重复的键
        classMap.put(new Student("天天",14), "武汉");
        classMap.put(new Student("刚刚",12), "河北");

        /*排序,想到treeSet,比较简单,按姓名排序,按年龄为自然排序*/
        Map<Student,String> classTreeMap = new TreeMap<Student,String>(new Comparator<Student>() {

            @Override
            public int compare(Student o1, Student o2) {
                int temp = o1.getName().compareTo(o2.getName());
                return temp==0?o1.compareTo(o2):temp;
            }
        });
        classTreeMap.put(new Student("小明",15), "上海");
        classTreeMap.put(new Student("小李",15), "沈阳");
        classTreeMap.put(new Student("小徐",13), "武汉");
        classTreeMap.put(new Student("小明",15), "上海");        //视为重复的键
        classTreeMap.put(new Student("天天",14), "武汉");
        classTreeMap.put(new Student("刚刚",12), "河北");

        for(Student stu : classTreeMap.keySet()){
            System.out.println(stu);
        }

        /*Map转成List的办法*/
        List<Map.Entry<Student, String>> list = new ArrayList<Map.Entry<Student, String>>(classTreeMap.entrySet());

        for(Entry ent: list){
            System.out.println(ent.getKey());
            System.out.println(ent.getValue());
        }
    }
}
时间: 2024-08-09 10:43:48

TreeMap的排序功能,构造方法的相关文章

MYSQL-实现ORACLE 和SQLserver数据中- row_number() over(partition by ) 分组排序功能

网上看见了好多例子都基本上是一样的,没有过多的解释,对于一个初学MySQL来说有点难,我把部分转摘过来如下 原文:http://www.cnblogs.com/buro79xxd/archive/2012/08/29/2662489.html 要求目标:1.确定需求: 根据部门来分组,显示各员工在部门里按薪水排名名次. 创建表格:2.来创建实例数据: drop table if exists heyf_t10; create table heyf_t10 (empid int ,deptid i

MapReduce实现排序功能

期间遇到了无法转value的值为int型,我采用try catch解决 str2 2 str1 1 str3 3 str1 4 str4 7 str2 5 str3 9 用的\t隔开,得到结果 str1 1,4 str2 2,5 str3 3,9 str4 7 我这里map,reduce都是单独出来的类,用了自定义的key package com.kane.mr; import java.io.DataInput; import java.io.DataOutput; import java.i

IOS UITableView拖动排序功能

UITbableView作为列表展示信息,除了展示的功能,有时还会用到删除,排序等功能,下面就来讲解一下如何实现排序. 排序是当表格进入编辑状态后,在单元格的右侧会出现一个按钮,点击按钮,就可以拖动单元格,移动位置,进行手动排序. 使用系统自带拖动排序功能的步骤: 1.让tableView进入编辑状态,也就是设置它的editing为YES 2.返回编辑模式,也就是实现UITableViewDelegate中的tableview:editingStyleForRowAtIndexPath:方法,在

怎样运用好MindMapper分类排序功能

我们可以在MindMapper中文版绘制导图过程中通过分类排序来对导图主题进行整理,而分类排序的条件也是多样化的,我们甚至还能够自定义排序条件.下面本文就教你怎样运用MindMapper分类排序功能. 若有疑问可直接访问:http://www.mindmapper.cc/jiqiao/mmp-fenlei-paixu.html 如何排序 1.选择所要排序的主题分支中最高等级主题.如果选择了中心主题,则整个对整个导图进行排序. 2.随后选择编辑中的排序选项图标. 3.选择一个条件,主题将按选定的条

简单实现Redis缓存中的排序功能

1.在实现缓存排序功能之前,必须先明白这一功能的合理性.不妨思考一下,既然可以在数据库中排序,为什么还要把排序功能放在缓存中实现呢?这里简单总结了两个原因:首先,排序会增加数据库的负载,难以支撑高并发的应用:其次,在缓存中排序不会遇到表锁定的问题.Redis恰好提供了排序功能,使我们可以方便地实现缓存排序. 2. 应用Redis实现数据的读写,同时利用队列处理器定时将数据写入mysql.3. 在redis启动时去mysql读取所有表键值存入redis中,往redis写数据时,对redis主键自增

RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-&gt;Web版本模块管理界面新增模块排序功能

模块(菜单)的排序是每个系统都必须要有的功能,我们框架模块的排序在业务逻辑中已经体现. WinForm版本可以直接在界面上对模块进行排序以控制模块展示的顺序.Web版本在3.2版本中也新增了直接可以模块管理界面对模块进行排序的人性化操作,大大的方便了管理人员.模块的排序在模块管理主界面分页按钮的右侧如下图所示. 三个按钮功能分别为:上移.下移.确认修改 WebMVC部分,模块排序功能代码参考: /// <summary> /// 保存模块排序功能 /// </summary> //

[转载]EasyUI中数据表格DataGrid添加排序功能

我们这里演示的是EasyUI数据表格DataGrid从服务器端排序功能,因为觉的本地数据排序没有多大的作用,一般我们DataGrid不会读取全部数据,只会读取当前页的数据,所以本地数据排序也只是对当前页的数据进行排序,不是我们想要用效果. 下面开始演示从服务器端排序功能. 第一步,启用EasyUI DataGrid的排序功能: 具体就是为列设置sortable属性,如下: { field: "SOID", title: "订单单号", width: "80

修改PHPCMS V9相关文章、专题listorder、order排序功能的方法

phpcms v9自带的相关文章.专题等模块不支持order排序,调用的相关文章.专题默认为升序,这样就造成了一个问题,调出来的相关文章是最早的文章,没有时效性.我们只能通过修改程序文件,只需简单修改一个文件,就能达到我们的需求. 修改相关文章排序的方法: 打开根目录下的phpcms/modules/content/classes/content_tag.class.php,找到 $r = $this->db->select($sql2, '*', $limit, '','','id'); 修

angularjs 实现排序功能

实现公式:{{orderBy_expression | orderBy:expression:reverse}} Example <script> var app=angular.module("myApp",[]);    app.controller("Ctrl",function($scope){        $scope.friends=[            {name:"John",phone:'555-1212',a