==知识点== 1.泛型 2.Set集合 3.TreeSet 4.数据结构-二叉树 5.数据结构-平衡二叉树 ==用到的单词== 1.element[ˈelɪmənt] 要素 元素(软) 2.key[kiː] 计算机或打字机的) 键; 3.type[taɪp] 类型; 4.value[ˈvæljuː] 值 5.genericity 泛型 6.comparable[ˈkɒmpərəbl] 可比较的; 7.compare[kəmˈpeə(r)] 比较 8.comparator[kəmˈpɜrətər…
1. 比较器排序(定制排序) 前面我们说到的TreeSet的自然排序是根据集合元素的大小,TreeSet将它们以升序排列. 但是如果需要实现定制排序,比如实现降序排序,则要通过比较器排序(定制排序)实现. 比较器排序是通过Comparator接口帮助的,这个接口包含一个方法int compare(T o1, T o2)方法,该方法用于比较o1和o2的大小: 如果方法返回正整数,则表明o1 大于 o2 如果方法返回0,则表明o1 等于 o2 如果方法返回负整数,则表明o1 小于 o2 int co…
[自然排序] package com.hxl; public class Student implements Comparable<Student> { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getNa…
>TreeSet集合使用实例 >TreeSet集合的红黑树 存储与取出(图) >TreeSet的add()方法源码     TreeSet集合使用实例 package cn.itcast_05; import java.util.TreeSet; /* * TreeSet:能够对元素按照某种规则进行排序. * 排序有两种方式 * A:自然排序 * B:比较器排序 * * TreeSet集合的特点:排序和唯一 * * 通过观察TreeSet的add()方法,我们知道最终要看TreeMap的…
集合又称之为容器存储对象的一种方式 •数组虽然也可以存储对象,但长度是固定的:显然需要可变长度的容器 集合和数组的区别?                 A:长度区别                         数组固定                         集合可变                 B:内容区别                         数组可以是基本类型,也可以是引用类型                         集合只能是引用类型         …
单例集合体系: ---------| collection  单例集合的根接口--------------| List  如果实现了list接口的集合类,具备的特点:有序,可重复       注:集合中的有序不是指自然顺序,而是指添加进去的顺序与出来的顺序是一致的------------------| ArrayList  ArrayList底层维护了一个object数组的实现的.(线程不安全),特点:查询速度快,增删速度慢.(有序,可重复)------------------| LinkedL…
TreeSet集合 TreeSet集合是一个依靠TreeMap实现的有序集合,内部存储元素是自动按照自然排序进行排列,所以如果想要保留存储时的顺序,那么就不建议使用TreeSet. TreeSet继承了Set的特性,也就是不允许有重复元素,他会通过compareTo方法对所有元素进行比较,此方法认为相等的元素就是相同元素.并且TreeSet存储元素的方式是根据二叉树的形式,这样在一定程度上提高了效率,下面我们用一张简单的图展示一下TreeSet的存储原理: 这就是TreeSet存储元素的基本原理…
TreeSet: 1.特点 TreeSet是用来排序的, 可以指定一个顺序, 对象存入之后会按照指定的顺序排列 2.使用方式 a.自然顺序(Comparable) TreeSet类的add()方法中会把存入的对象提升为Comparable类型 调用对象的compareTo()方法和集合中的对象比较(当前存入的是谁,谁就会调用compareTo方法) 根据compareTo()方法返回的结果进行存储 b.比较器顺序(Comparator) 创建TreeSet的时候可以制定 一个Comparator…
package cn.itcast.day21.treeset2; import java.util.Comparator; import java.util.TreeSet; /* * TreeSet 按照自定义对象Student的姓名长度 比较器排序 * * 自然排序or比较器排序取决于,TreeSet的构造方法 * 无参构造:自然排序 * 有参构造: 比较器排序 * * TreeSet集合保证元素排序和唯一性的原理 * 唯一性:根据比较的返回是否是0来决定 * 排序: * A:自然排序(元…
TreeSet集合默认会进行排序.因此必须有排序,如果没有就会报类型转换异常. 自然排序 Person class->实现Comparable,实现compareTo()方法 package Homework1and2; import java.text.CollationKey; import java.text.Collator; /** * Person类 有属性 name,age,sex 排序规则: 第一条件 年龄降序,第二条件 姓名 降序,第三条件 性别升序 * @author Adm…