java TreeSet 应用】的更多相关文章

package TreeSetTest; import java.util.Iterator; import java.util.TreeSet; import javax.management.RuntimeErrorException; /* 可以对set集合中的元素进行排序,其底层的数据结构是二叉树, 保证元素唯一性的依据是compareTo和return 0; TreeSet排序的第一种方式 让元素自身具备比较性 元素需要实现Comparable接口,覆盖compareTo方法 这种方式…
本文主要是介绍一下java集合中的比较重要的Set接口下的可实现类TreeSet TreeSet类,底层用二叉树的数据结构 * 集合中以有序的方式插入和抽取元素. * 添加到TreeSet中的元素必须是可以排序的 * 保证数据的唯一性: * 第一种:让添加的类自身具有可比较性, * 实现Comparable接口中的CompareTo()方法 首先建立一个添加的类型,如下定义,让元素自身具备可比较性 * 添加类中实现Comparable方法中CompareTo()方法 * 按对象的年龄进行排序存储…
注:只贴出实现类 package Test3; import java.util.Comparator;import java.util.TreeSet; public class Test { public static void main(String[] args) { Comparator com=new Comparator() {①创建一个Comparator接口的匿名内部类 @Override public int compare(Object o1, Object o2) {②重…
Java提高篇(二八)------TreeSet 与HashSet是基于HashMap实现一样,TreeSet同样是基于TreeMap实现的.在<Java提高篇(二七)-----TreeMap>中LZ详细讲解了TreeMap实现机制,如果客官详情看了这篇博文或者多TreeMap有比较详细的了解,那么TreeSet的实现对您是喝口水那么简单. 一.TreeSet定义 我们知道TreeMap是一个有序的二叉树,那么同理TreeSet同样也是一个有序的,它的作用是提供有序的Set集合.通过源码我们知…
本文主要是介绍一下java集合中的比较重要的Set接口下的可实现类TreeSet TreeSet类,底层用二叉树的数据结构 * 集合中以有序的方式插入和抽取元素. * 添加到TreeSet中的元素必须是可以排序的 * 保证数据的唯一性: * 第一种:让添加的类自身具有可比较性, * 实现Comparable接口中的CompareTo()方法 package com.tercher.demo; import java.util.Iterator; import java.util.TreeSet;…
参考 http://www.yiibai.com/java/util/java_util_treeset.html 另,用Java的TreeSet的ceiling可以模拟upper_bound(获得更大范围里面最小的数),floor可以模拟 lower_bound(获得更小范围内最大的数).…
TreeSet的自然排序是根据元素的大小进行升序排序的,若想自己定制排序,比如降序排序,就可以使用Comparator接口了: 该接口包含int compare(Object o1,Object o2)方法,用于比较两个对象的大小,比较结果和compareTo方法一致; 要实现定制排序,需要在创建TreeSet集合对象时,提供一个一个Comparator对象,该对象里负责集合元素的排序逻辑; TreeSet(Comparator comparator) Eg: package july7; //…
TreeSet会调用元素的compareTo(Object o)方法来比较元素之间的大小关系,然后将集合里的元素按升序排列.此时需要排序元素的类必须实现Compareble接口,并覆写其int compareTo(Object o)方法; 该方法用于比较对象,若:obj1,compareTo(obj2),返回0,表示两个对象相等,若返回一个正整数,表示obj1大于obj2,若返回一个负整数,表示obj1小于obj2; 对于TreeSet集合而言,判断两个对象相等的标准是: compareTo()…
比较器排序Comparator的使用 存储学生对象,并遍历,创建TreeSet集合使用带参构造方法 要求,按照学生年龄从小到大排序,如果年龄相同,则按照姓名的字母循序排序 结论 用TreeSet集合存储自定义对象,代参构造方法使用的是“比较器排序”对元素进行排序的: 比较器排序,就是让集合构造方法接收Comparator实现类对象,重写compareTo(T O1,tO2)方法: 3.重写方法时,一定注意排序规则,必须按照要求的主要条件和次要条件来写 //TreeSetDemo.java /*比…
这篇是紧接着上一篇而写的,具体的实现TreeSet中有序的第二中方法 首先新建一个类,此类就是用于集合中存放的对象 然后定义一个类,实现Comparator中的CompareTo()方法 最后一个测试类,创建集合并添加对象 最后的运行结果如下:…
一.创建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] 输出是有序…
1.TreeSe自带排序的set,没有重复元素. 2.TreeSet 如果构造函数中没有使用比较器,那在装载的对象类中要实现Comparable 接口. 3.TreeSet 使用初始化比较器的方式. 试例代码: public class Demo { public static void main(String[] args) { //1.TreeSe自带排序的set,没有重复元素 TreeSet<String> setStr=new TreeSet<String>(); setS…
Java基础知识你知道多少? Java特性 Java三大特性:封装,继承,多态 Java 抽象类与接口 Java 浅拷贝和深拷贝 Java static和final Java 内部类.静态内部类.匿名内部类 Java 强制类型转换 java 实现多重继承 Java - equals方法 Java 字符串 Java - 异常解析基础 JAVA反射机制 JAVA动态代理基础 Java集合系列 Java - 数组解析 Java - 集合 Java - ArrayList源码分析 Java - Link…
Java的集合类由Collection接口和Map接口派生,其中: List代表有序集合,元素有序且可重复 Set代表无序集合,元素无序且不可重复 Map集合存储键值对 那么本篇文章将从源码角度讨论一下无序集合Set. HashSet HashSet实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持.它不保证 set 的迭代顺序:特别是它不保证该顺序恒久不变.此类允许使用 null 元素.看下面的一个例子: HashSet<String> hs = new HashSet&…
原文:HowToDoInJava 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. ApacheCN 学习资源 目录 核心 Java 教程 什么是 Java 编程语言? 什么是 Java JDK,JRE 和 JVM – 深入分析 Java 命名约定 Java 类路径 Java 变量 Java 运算符指南 Java 关键字 Java 中的数据类型 Java 中的原始数据类型 Java 包装器类 – 自动装箱,拆箱和转换示例 Java 中的语…
1.2版本的JDK才出现的java集合框架. 下面介绍说一下Vector的一些特点. import java.util.Enumeration; import java.util.Iterator; import java.util.Vector; public class VectorDemo { public static void main(String[] args) { Vector v = new Vector(); v.addElement("abc1"); v.addE…
原文:Programiz 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 学习资源 目录 Programiz C 语言教程 C 简介 C 关键字和标识符 C 变量,常量和字面值 C 数据类型 C 输入输出(I/O) C 编程运算符 C 简单示例 C 流程控制 C if...else语句 C for循环 C while和do...while循环 C break和continue C switch语句 C got…
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /** * 需求:计算网页访问量前三名 * 用户:喜欢视频 直播 * 帮助企业做经营和决策 * * 看数据 */ object UrlCount { def main(args: Array[String]): Unit = { //1.加载数据 val conf:SparkConf = new Spa…
TreeMap和TreeSet的异同: 相同点: TreeMap和TreeSet都是有序的集合,也就是说他们存储的值都是拍好序的. TreeMap和TreeSet都是非同步集合,因此他们不能在多线程之间共享,不过可以使用方法Collections.synchroinzedMap()来实现同步 运行速度都要比Hash集合慢,他们内部对元素的操作时间复杂度为O(logN),而HashMap/HashSet则为O(1). 不同点: 最主要的区别就是TreeSet和TreeMap非别实现Set和Map接…
TreeSet简介 TreeSet是一个有序的集合,它的作用是提供一个有序的Set集合,它继承于AbstractSet抽象类实现了NavigableSet<E>, Cloneable, java.io.Serializable接口. TreeSet 继承于AbstractSet,所以它是一个Set集合,具有Set的属性和方法. // 默认构造函数.使用该构造函数,TreeSet中的元素按照自然排序进行排列. TreeSet() // 创建的TreeSet包含collection TreeSet…
与HashSet是基于HashMap实现一样,TreeSet同样是基于TreeMap实现的.在<Java提高篇(二七)-----TreeMap>中LZ详细讲解了TreeMap实现机制,如果客官详情看了这篇博文或者多TreeMap有比较详细的了解,那么TreeSet的实现对您是喝口水那么简单. 一.TreeSet定义 我们知道TreeMap是一个有序的二叉树,那么同理TreeSet同样也是一个有序的,它的作用是提供有序的Set集合.通过源码我们知道TreeSet基础AbstractSet,实现N…
/* 看一下部分的TreeSet源码.... public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, java.io.Serializable { private transient NavigableMap<E,Object> m; //NavigableMap继承SortedMap, 二者都是接口,在TreeMap中有实现 private…
TreeSet简介 TreeSet 是一个有序的集合,它的作用是提供有序的Set集合.它继承于AbstractSet抽象类,实现了NavigableSet<E>, Cloneable, java.io.Serializable接口. TreeSet 继承于AbstractSet,所以它是一个Set集合,具有Set的属性和方法. TreeSet 实现了NavigableSet接口,意味着它支持一系列的导航方法.比如查找与指定目标最匹配项. TreeSet 实现了Cloneable接口,意味着它能…
概要 这一章,我们对TreeSet进行学习.我们先对TreeSet有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeSet.内容包括:第1部分 TreeSet介绍第2部分 TreeSet数据结构第3部分 TreeSet源码解析(基于JDK1.6.0_45)第4部分 TreeSet遍历方式第5部分 TreeSet示例 转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311268 第1部…
public class Person implements Comparable{ private String name; private int age; public Person(){ super(); } public Person(String name, int age) { super(); this.name = name; this.age = age; } @Override public int hashCode() { return name.hashCode()+a…
一.TreeSet 1.1.TreeSet Set:hashSet:数据结构是哈希表.线程是非同步的.        保证元素唯一性的原理:判断元素的HashCode值是否相同.         如果相同,还会判断元素的equals方法是否为true;       TreeSet: 可以去Set集合中的元素时行 排序. 使用二叉树的数据结构.      保证元素唯一性的依据:compareTo()方法return 0 使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Compar…
主函数类MainDemo.java package com.itcast.test20140109; import java.util.ArrayList; import java.util.Collection; import java.util.Comparator; import java.util.Enumeration; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet…
HashSet,锋芒毕露,我们最常用到.其他两个,我们较少用到,今天,我们看看他们的区别. import java.util.HashSet; import java.util.Set; public class HashSetTester { public static void main(String[] args) { Set<Integer> set = new HashSet<Integer>(); set.add(15); set.add(31); set.add(12…
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 Java 集合系列 05 Vector详细介绍(源码解析)和使用示例 Java 集合系列 06 Stack详细介绍(源码解析)和使用示例 Java 集合系列 07 List总结(LinkedList, ArrayList等使用场景和…
java.lang.Object≥ java.util.AbstractCollection<E> ≥ java.util.AbstractSet<E> ≥ java.util.TreeSet<E> 所有已实现的接口: Serializable, Cloneable, Iterable<E>, Collection<E>, NavigableSet<E>, Set<E>, SortedSet<E>  构造方法摘…