TreeMap 和 TreeSet 是JavaCollection Framework 的两个重要成员,其中 TreeMap 是 Map 接口的常用实现类,而 TreeSet 是 Set 接口的常用实现类。虽然 TreeMap 和TreeSet 实现的接口规范不同,但 TreeSet 底层是通过 TreeMap 来实现的(如同HashSet底层是是通过HashMap来实现的一样),因此二者的实现方式完全一样。...
treeSet.add(stu1); treeSet.add(stu2); treeSet.add(stu3); treeSet.add(stu4); treeSet.add(stu5); treeSet.add(stu6); treeSet.add(stu7); System.out.println("集合大小:"+treeSet.size()); for(Student student:treeSet) System.out.println(student); } 1. 2. 3. 4. 5. 6. 7. ...
TreeSet中的红黑树 TreeSet底层维护了一个红黑树。在红黑树的插入、删除和查找操作中,时间复杂度都是O(log n)的。 由于红黑树是一个有序的二叉树,因此TreeSet中的元素也是有序的。在调用TreeSet的add方法时,会调用红黑树的插入方法,在插入过程中,会根据元素的大小,将其插入到正确的位置上。
二.TreeSet 1. 定义 2.操作 3. Set主要特性 4. TreeSet的内部实现 5. 应用场景 三.TreeMap 2.操作 3.Map的主要特性 4. TreeMap的内部实现 5.应用场景 四.总结与反思 一.二叉搜索树 首先我们要知道TreeSet/TreeMap底层都采用的都是一种二叉搜索树(也叫自平衡二叉树),因此我们先来了解一下二叉搜索树...
由于在Integer类本身已实现了Comparable接口,重写了compare()方法,所以传入Integer类型的数时TreeSet实现类就会自动排序,而传入对象时,TreeSet实现类不知道以某种方式排序,此时就需要我们来从写排序方法。 Comparable接口:此接口强行对实现它的每个类的对象进行整体排序,这个排序称为自然排序。
TreeSet treeSet = new TreeSet(new Comparator() { @Override public int compare(Object o1, Object o2) { return ((String)o1).compareTo((String)o2); } }); treeSet.add("141"); treeSet.add("5"); treeSet.add("23"); treeSet.add("114514"); ...
TreeSet 搜索 // 第一个元素publicEfirst(){returnm.firstKey(); }// 最后一个元素publicElast(){returnm.lastKey(); }// 获取最接近e的节点(小于等于)publicElower(E e){returnm.lowerKey(e); }// 获取最接近e的节点(大于等于)publicEfloor(E e){returnm.floorKey(e); ...
TreeSet<Person> persons=newTreeSet<>(); persons.add(p1); persons.add(p2); persons.add(p3);//遍历for(Person p:persons){ System.out.println(p); } 报错:Person cannot be cast(转换) to class java.lang.Comparable TreeMap集合的put()添加元素的方法,当key==null(加入的key值部分为空)时: ...
需要加入TreeSet集合的元素必须实现Comparable接口,如果试图把没有实现Comparable接口的类对象加入TreeSet时,程序就会抛出异常。没有实现Comparable接口类的程序代码如下:MyNumber为自定义的序号类,该类没有实现Comparable接口。程序在MainTest类的main方法中声明了TreeSet集合,并添加MyNumber对象。运行上述代码后,程序抛出...
1.5 TreeSet集合的应用 2. HashSet集合 2.1 HashSet集合概述和特点 2.2 HashSet集合的基本应用 2.3 哈希值 2.4 哈希表结构 2.5 HashSet集合练习 2.6 小结 1.数据结构之树 1.1 二叉树 二叉树特点 二叉树中,任意一个节点的度都要小于等于2; 节点:在树结构中,每一个元素称之为节点(对象); 度: 每一个节点...