Java TreeSet,Collections使用
一、创建TreeSet实例
public static void main(String[] args) {
TreeSet set = new TreeSet(); set.add("C");
set.add("B");
set.add("A");
set.add("F");
set.add("D");
System.out.println(set);
}
输出
[A, B, C, D, F]
输出是有序的。
二、TreeSet实例,按字符倒叙排列
实现了Comparator接口
public class TreeSetTest3 {
public static void main(String[] args) {
TreeSet<String> set = new TreeSet(new MyComparator() );
set.add("C");
set.add("B");
set.add("A");
set.add("F");
set.add("D");
System.out.println(set); }
} class MyComparator implements Comparator{ public int compare(Object o1, Object o2) { String s1 = (String) o1;
String s2 = (String) o2; return s2.compareTo(s1);
} }
打印:
[F, D, C, B, A]
三、按数字倒叙排列
public class TreeSetTest2 { public static void main(String[] args) {
TreeSet set= new TreeSet(new Comparator() { public int compare(Object o1, Object o2) {
int i1 = ((Person) o1).score;
int i2 = ((Person) o2).score;
return i2 - i1;
} });
Person p1 = new Person(100);
Person p2 = new Person(60);
Person p3 = new Person(70);
Person p4 = new Person(50); set.add(p1);
set.add(p2);
set.add(p3);
set.add(p4);
System.out.println(set);
}
} class Person{ int score; public Person(int score){
this.score = score;
} @Override
public String toString() { return String.valueOf(this.score);
}
}
打印结果
[100, 70, 60, 50]
四、使用Collections降序
public class CollectionsTest {
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add(new Integer(5));
list.add(new Integer(25));
list.add(new Integer(15));
list.add(new Integer(35));
list.add(new Integer(1));
Comparator r = Collections.reverseOrder();
Collections.sort(list, r);
System.out.println(list); }
}
[35, 25, 15, 5, 1]
Java TreeSet,Collections使用的更多相关文章
- 集合-强大的集合工具类:java.util.Collections中未包含的集合工具
任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.Guava沿着这些路线提供了更多的工具方法:适用于所有集合的静态方法.这是Guava最流行和成熟 ...
- Java中Collections.sort()排序详解
public static void main(String[] args) { List<String> list = new ArrayList<String>(); ...
- [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具
原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.G ...
- [Google Guava] 强大的集合工具类:java.util.Collections中未包含的集合工具
转载的,有问题请联系我 原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collecti ...
- java中Collections.sort排序详解
Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f, ...
- Java API —— Collections类
1.Collections类概述 针对集合操作 的工具类,都是静态方法 2.Collections成员方法 public static <T> void ...
- Java中Collections的min和max方法
方法一 public static <T extends Object & Comparable<? super T>> T min(Collection<? e ...
- java.lang.Collections
java.lang.Collections 此类完全由在collection上进行操作或返回 collection 的静态方法组成.也就是说Collections提供了对Collection集合操作的 ...
- java.util.Collections.copy():列表List浅拷贝
今天同事问我怎样将一个列表(list1)拷贝到另一个列表(list2),然后修改新的列表(list2)不会影响到旧的列表(list1),想了一想,这是深拷贝啊. 可是,除了循环new还有别的办法吗,想 ...
- (网页)java中Collections.sort排序详解(转)
转自CSDN: Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b, ...
随机推荐
- flask 扩展包
1.pipenv install python-dotenv (管理项目环境变量): 2.pipenv install watchdog --dev(监测文件变动,一般开发时使用): 3.pipen ...
- asp.net core 读取Appsettings.json 配置文件
Appsettingsjson 配置定义实体在StartUp时读取配置信息修改你的Controller通过构造函数进入配置信息总结Appsettings.json 配置很明显这个配置文件就是一个jso ...
- 剑指offer:用两个栈实现一个队列
题目 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 解题思路 用一个栈A来保存入栈,当要出栈的时候,将栈A的元素按照栈后进先出的特点转移到栈B中(此时栈A为空了 ...
- docker版本lnmp
也不是全部的docker,比如php-fpm,这个可以用docker版. 但第三方插件就不灵活,所以原生的就好. 另外,在建设ftp服务时,以后要弃vsftpd而选用pure-ftp了. pure-f ...
- Caused by: java.nio.charset.MalformedInputException: Input length = 1
java.lang.IllegalStateException: Failed to load property source from location 'classpath:/applicatio ...
- 优先队列priority_queue详解
转载链接
- python 类 双下划线解析
__getattr__用法:说明:这是python里的一个内建函数,当调用的属性或者方法不存在时,该方法会被调用调用不存在的属性调用不存在的方法
- go内置的反向代理
package main import ( "log" "net/http" "net/http/httputil" "net/u ...
- php 程序执行时间检测
我们有的时经常需要做程序的执行时间执行效率判断.大理石平台检定规程 实现的思路如下: <?php //记录开始时间 //记录结整时 // 开始时间 减去(-) 结束时间 得到程序的运行时间 ...
- 上传图片,点击触发隐藏得file
编辑一个div 将其宽高设定好 给其背景颜色 div class="form-group"> <label class="col-sm-2 control ...