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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梦想家Eva 中级黑马   /  2015-11-28 19:43  /  1357 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. TreeSet<Character> ts = new TreeSet<>(new Comparator<Charcter>() { public int compare(Character c1,Character c2 {
  2.    int num = c1-c2;
  3.   return num ==0?1:num;
  4. })
  5. });
复制代码
请问 什么c1-c2是对集合中的元素进行升序排序啊?

14 个回复

倒序浏览
你这个对元素没有排序  
回复 使用道具 举报
这个可以添加重复元素的,是升序的
compare方法返回正数,插入的元素向后排,返回负数,向前排,返回0则无法添加元素
回复 使用道具 举报 1 0
顶一顶好了,作为一名小白,我只能帮到这了0.0
回复 使用道具 举报
ash午夜阳光 发表于 2015-11-28 22:03
这个可以添加重复元素的,是升序的
compare方法返回正数,插入的元素向后排,返回负数,向前排,返回0则无法添加 ...

这样啊,多谢!
回复 使用道具 举报

不谢,咱俩头像都差不多
回复 使用道具 举报
c1是新传入的, c2是被比较的; 如果比c2小返回时就在c2的左边,大就在c2的右边,相等就再比较其他的属性
回复 使用道具 举报
这个程序是存储的顺序就是取出的顺序,主要凯compare方法的返回值类型;则个程序有问题哦,有个泛型没写;
回复 使用道具 举报
楼上已经有了正确答案
回复 使用道具 举报
石三伢子1 发表于 2015-11-30 11:18
这个程序是存储的顺序就是取出的顺序,主要凯compare方法的返回值类型;则个程序有问题哦,有个泛型没写; ...

在jdk1.7还是1.8,后面的泛型是可以省略的,这个新特性称为菱形泛型
回复 使用道具 举报
好少的代码呀。不过知识 很独特,,
回复 使用道具 举报
梦想家Eva 发表于 2015-11-30 12:43
在jdk1.7还是1.8,后面的泛型是可以省略的,这个新特性称为菱形泛型

哈哈,那是我out了;
回复 使用道具 举报
刚好学到集合
回复 使用道具 举报
http://www.cnblogs.com/ningvsban/archive/2013/05/06/3062535.html  这个博客关于TreeSet介绍的很详细,可以参阅一下

评分

参与人数 1黑马币 +4 收起 理由
梦想家Eva + 4 很给力!

查看全部评分

回复 使用道具 举报
Ellie 中级黑马 2015-12-4 23:43:08
15#
TreeSet是一个有序集合,TreeSet中的元素将按照升序排列,缺省是按照自然排序进行排列,意味着TreeSet中的元素要实现Comparable接口。或者有一个自定义的比较器。

评分

参与人数 1黑马币 +1 收起 理由
梦想家Eva + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马