(黑马程序员)TreeSet集合总节笔记(二)
来源:互联网 发布:软件构件图 编辑:程序博客网 时间:2024/05/23 07:24
TreeSet是二叉树结构,何为二叉树呢,就是一层层向下分支,进来一个元素先和最上面一个节点比较,然后再顺次往下比较,注意:最高节点并不是第一次存进来的元素,而是中间那个元素,比如
存1--存2(和1比)---存3(和1比完和2比)|---存4(和2比完和3比)
|----存0(和2比完和1比)
往里面存元素时,比如里面已有A,存B时,是B调用compareTo和A比,
即B.compareTo(A),如返回正数,则说明B>A,B会排在A后面,负数则B<A, B会排在A前面。
里面的结构并不是树形结构,而是顺序排列的,插在一个左边比自己小而右边比自己大的位子。自左往右增大,只是添加元素比较时,先从中间开始比较,遇到大的往右比,遇到小了的往左比。验证代码如下:
import java.util.TreeSet;
public static void main(String[] args) {
TreeSet set = new TreeSet();
set.add(new Parent(1));
set.add(new Parent(8));
set.add(new Parent(4));
set.add(new Parent(3));
for(Object o:set){
Parent o1 = (Parent)o;
System.out.println(o1.age);
}
}
}
class Parent implements Comparable {
int age = 0;
public Parent(int age) {
this.age = age;
}
public int compareTo(Object o) {
Parent o1 = (Parent)o;
System.out.println("methodofparent"+this.age+"---"+o1.age);
return age>o1.age?1:age<o1.age?-1:0;
}
}
输出结果是method of parent1---1
method of parent8---1
method of parent4---1
method of parent4---8
method of parent3---4
method of parent3---1
1
3
4
8
完全验证了存储时是4插在了1和8之间,隔开了1和8.
- (黑马程序员)TreeSet集合总节笔记(二)
- (黑马程序员)TreeSet集合总节笔记(一)
- [黑马程序员]集合--TreeSet
- 黑马程序员--java集合TreeSet
- (黑马程序员)学习笔记,Collection集合(ArrayList、LinkedList、Vector、HashSet、TreeSet)
- 黑马程序员_JAVA笔记14——集合框架(List、HashSet、TreeSet)
- 黑马程序员------毕老师视频笔记第13-17天------集合Collection-Set-(HashSet、TreeSet)
- 黑马程序员_集合之Set(HashSet与TreeSet)
- 黑马程序员——集合框架(TreeSet)
- 黑马程序员--集合之HashSet/TreeSet原理
- 黑马程序员 集合框架之TreeSet实例
- 黑马程序员——TreeSet集合
- 黑马程序员-----集合(二)
- 黑马程序员 集合(二)
- 黑马程序员---集合(二)
- 黑马程序员 集合(二)
- 黑马程序员--集合(二)
- 黑马程序员——集合学习笔记(二)
- CSDN文章
- iOS中使用QLPreviewController来预览文件
- vs2010中的TODO使用
- QT图标
- 开源项目之Android Secrets(密码箱)
- (黑马程序员)TreeSet集合总节笔记(二)
- a标签的target指向iframe
- oracle字符集的查看
- 使用map容器及常量迭代器注意的地方
- 数位DP 题集
- 查看小米手机中保存的WIFI密码
- GUI系统之SurfaceFlinger(2)Gralloc与Framebuffer
- 函数fopen
- IE10 下提示 SCRIPT5009: “__doPostBack” 未定义的解决方案