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, ...
随机推荐
- array_reduce() 与 array_map()
相似部分: 二者同为 处理数组函数,可遍历 数组中的每一个元素, 对其通过 function callback(){} 处理. 不同处: 参数: array_reduce( array, callba ...
- The Essential Burp Suite
OK we have download teh burp suite .let's begin start the tool 1.if we want to use the total mem ...
- swagger是什么OpenAPI是什么
wiki: https://en.wikipedia.org/wiki/OpenAPI_Specification 官网: https://swagger.io/specification/
- 数据库类型对应Java语言类型表
下表列出了基本 SQL Server.JDBC 和 Java 编程语言数据类型之间的默认映射: SQL Server 类型 JDBC 类型 (java.sql.Types) Java 语言类型 big ...
- DT7.0/6.0最简单实现主动推送方法
最近研究destoon内核开发,开发了一个大型的信息站点:http://www.xuetong365.com/ 但是新站如何提高收录和排名呢?网上有很多主动提交的方法,今天我分享一个自己原创的超级简 ...
- 文件操作-with和上下文管理器
代码: # -*- coding:utf-8 -*- # 普通版 如果写入的过程中出错 则不会释放资源 def m1(): f = open("test.txt","w& ...
- vue中input输入第一个字符时,光标会消失,需要再次点击才能输入
vue中input输入第一个字符时,光标会消失,需要再次点击才能输入 在这里我犯了一个小错误,v-if语法比较倾向于一次性操作,当input获取焦点时,v-if判断为true,立即刷新数据,进行渲染, ...
- HDFS节点及原理
HDFS节点角色: (1)namenode:1.用来存储HDFS的元数据信息,这里的元数据信息指的是文件系统的命名空间.启动时,将这些信息加载到namenode内存. 2.元数据信息也会在磁盘上保存成 ...
- PAT乙级1040 有几个PAT
题目: 1040 有几个PAT (25分) 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T):第二个 PAT 是第 3 位 ...
- Dobbox
一.向本地仓库导入Dubbox依赖 1.1解压压缩包 1.2打开cmd窗口切到源码包路径 1.3输入命令行 1.4成功后展示如图 1.5输入命令行 1.6成功后如图 public class DoSo ...