- 浏览: 50157 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (31)
- java基础——+类名+时间 (17)
- 电脑故障 (1)
- myeclipse (2)
- OA项目开发流程1 (1)
- SQL语句 (1)
- Struts2框架 (0)
- 汤阳光luncence学习 (1)
- Hibernate错误 (1)
- vurtial box安装xp系统 (1)
- Maven学习 (2)
- javaWeb基础 (0)
- Oracle学习 (0)
- javascript学习 (0)
- jQuery学习 (0)
- ajax学习 (0)
- xml学习 (0)
- linux学习 (1)
- svn&cvs (0)
- java基础—多线程 (1)
- 杂谈 (1)
- Tomcat学习 (1)
- 云计算Hadoop (0)
- easyui学习 (0)
最新评论
package cn.mmc.day14; import java.util.*; /* 当元素自身不具备比较性,或者具备的比较性不是所需要的。 这时需要让容器自身具备比较性。 定义了比较器,将比较器对象作为参数传递给TreeSet集合的构造函数。 当两种排序都存在时,以比较器为主。 定义一个类,实现Comparator接口,覆盖compare方法。 */ public class TreeSetExcise { public static void main(String[] args) { TreeSet ts = new TreeSet(); ts.add(new Student("lisi02",22)); ts.add(new Student("lisi02",21)); ts.add(new Student("lisi007",20)); ts.add(new Student("lisi09",19)); ts.add(new Student("lisi06",18)); ts.add(new Student("lisi06",18)); ts.add(new Student("lisi007",29)); //ts.add(new Student("lisi007",20)); //ts.add(new Student("lisi01",40)); Iterator it = ts.iterator(); while(it.hasNext()) { Student stu = (Student)it.next(); System.out.println(stu.getName()+"..."+stu.getAge()); } } } class MyCompare implements Comparator { public int compare(Object o1,Object o2) { Student s1 = (Student)o1; Student s2 = (Student)o2; int num = s1.getName().compareTo(s2.getName()); if(num==0)//当姓名相同时,在判断年龄 { return new Integer(s1.getAge()).compareTo(new Integer(s2.getAge())); /* if(s1.getAge()>s2.getAge()) return 1; if(s1.getAge()==s2.getAge()) return 0; return -1; */ } return num; } } /* 练习:按照字符串长度排序。 字符串本身具备比较性。但是它的比较方式不是所需要的。 这时就只能使用比较器。 */ class TreeSetTest { public static void main(String[] args) { TreeSet ts = new TreeSet(new StrLenComparator()); ts.add("abcd"); ts.add("cc"); ts.add("cba"); ts.add("aaa"); ts.add("z"); ts.add("hahaha"); Iterator it = ts.iterator(); while(it.hasNext()) { System.out.println(it.next()); } } } class StrLenComparator implements Comparator { public int compare(Object o1,Object o2) { String s1 = (String)o1; String s2 = (String)o2; /* if(s1.length()>s2.length()) return 1; if(s1.length()==s2.length()) return 0; */ int num = new Integer(s1.length()).compareTo(new Integer(s2.length())); if(num==0) return s1.compareTo(s2); return num; } }
发表评论
-
Person p = new Person("zhangsan",20);JVM运行到这句话时,做了什么事情?
2013-12-03 22:58 731Person p = new Person("zh ... -
char字符与int整数之间通过的转换ascii码
2012-10-09 12:54 16534public class TestCharToInt { ... -
基础——泛型小知识0527
2012-05-28 12:25 617package cn.mmc.day15; import ... -
基础——Map类练习0527
2012-05-28 12:24 677package cn.mmc.day16; import ... -
基础——Map类0527
2012-05-28 12:24 719package cn.mmc.day16; import ... -
基础——HashSet和TreeSet类知识练习0523
2012-05-28 12:24 994package cn.mmc.day14; import j ... -
基础——Vector类0523
2012-05-27 19:35 656package cn.mmc.day14; import ... -
基础——HashSet集合底层原理0523
2012-05-27 19:35 949package cn.mmc.day14; import j ... -
基础——LinkedList类和模拟队列数据结构0523
2012-05-27 19:35 997package cn.mmc.day14; import ... -
基础——ArrayList集合练习0523
2012-05-27 19:35 872package cn.mmc.day14; import j ... -
基础——List类0523
2012-05-27 19:35 666package cn.mmc.day14; /* Coll ... -
基础——Collection类0523
2012-05-23 12:06 611package cn.mmc.day14; /* Coll ... -
基础——基本数据类型对象包装类0523
2012-05-23 12:04 683/* 基本数据类型对象包装类。 byte Byte ... -
基础——StringBuffer类0523
2012-05-23 12:01 551package cn.mmc.day13; public ... -
String类——练习
2012-05-23 11:58 745package cn.mmc.day13; public ... -
基础——String类0523
2012-05-23 11:51 796package cn.mmc.day13; public ...
相关推荐
毕向东Java基础视频教程-集合框架(TreeSet练习).
计算机后端-Java-Java核心基础-第25章 集合02 05. TreeSet的课后练习.avi
介绍TreeSet集合用法,向TreeSet集合中添加类的对象,此类需实现Comparable接口,有实例,供需要的朋友下载学习。
List,Set练习题(no TreeSet).docx
HashSet和TreeSet_围墙之外.rar
使用TreeSet和Comparator,编写TreeSetTest2类,要求对TreeSet中的元素1-元素10进行排列,排序逻辑为奇数在前偶数在后,奇数按照升序排列,偶数按照降序排列。 如果需要的话可以下载,有写成文章的。有写了一点中文...
文档摘录 文档摘录文档摘录文档摘录文档摘录文档摘录文档摘录
treemap treeset hashset hashmap 简要介绍
Java数据结构--13.Java8数据结构TreeSet 前⾔ ,上⼀篇中对 Set 接⼝最终实现类 HashSet 与 LinkedHashSet 做了介绍与分析,本篇将对另⼀种 Set 接⼝的最终实现类 TreeSet 进⾏ 介绍与分析。 先来看下 TreeSet 完整...
TreeSet 是 Java 中的一个集合类,它实现了 SortedSet 接口,并且使用红黑树作为底层数据结构。TreeSet 具有以下主要特点: 排序性:TreeSet 中的元素是有序的,默认按照元素的自然顺序进行排序。或者,可以在创建 ...
Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类...
用JAVA集合TreeSet写的求并集算法
public int compare(String o1,String o2) { return o1.length()-o2.length();... TreeSet ts = new TreeSet(com); ts.add("string"); ts.add("char"); ts.add("nothing�"); System.out.println(ts);
·自Java语言起源始,循序渐进,知识点剖析细致且每章配备大量随堂练习,让你步步为营,学得透彻、练得明白 ·拒绝晦涩难懂的呆板教学,宋老师语言生动幽默,举例形象生动深入浅出,迅速让你把握问题本质,四两拨千...
title: TreeSet 和 TreeMap 理论基础Java 根据红黑树这种平衡的二叉搜索树实现了 TreeSet 和 TreeMap 两种数据结构,如果
通过TreeSet类直接对学生成绩实现了排序功能,不必要进行相关额外的排序来实现!
图书馆管理 1.描述一个图书馆 2.进书,借书卡办理 3.借书,还书 4.查询某书的借出记录 5.查询借书卡的借出记录 6.显示图书列表(按借出次数排序)
HashSet和TreeSet的区别
用TreeSet添加字符串,按照字符串首字母字母顺序和字符串长度顺序排序
在TreeSet中添加自定义对象,能更好地帮助理解TreeSet