wdjh.net
当前位置:首页 >> trEEsEt >>

trEEsEt

==========================他们的区别=========================== 1. HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的,只不过Set用的只是Map的key 2. Map的key和Set都有一个共同的特性就是集合的唯一性.TreeMap更是多了一个排序的功能...

java.lang.Object |_ java.util.AbstractCollection |_ java.util.AbstractSet |_ java.util.TreeSet TreeSet类声明如下: public class TreeSet extends AbstractSet implements SortedSet, Cloneable, java.io.Serializable 因为实现了SortedS...

这个与TreeSet的remove算法有关,你可以看一下TreeSet的源码,其内部是由TreeMap实现的。 在remove时会先从5开始比对,如果比5小就与20(原值是-3)比较,发现比20还小,而这时20的左边已经没有元素了,所以就移除失败。 加入0元素后,remove -2时...

TreeSet会调用集合元素的compareTo(Object obj)方法来比较元素之间大小关系,然后将集合元素按升序排列,这种方式就是自然排序。(比较的前提:两个对象的类型相同),也就是说TreeSet是不能存放两个相同的元素的。 TreeSet继承于Set,而Set这个...

你写错了,改成如下: TreeSet nums = new TreeSet (); 这样就行了。

package com.sgcc.domain.util;import java.util.TreeSet;class Person implements Comparable{String name;public Person(String name) {this.name=name;}int count ;@Overridepublic int compareTo(Person o) {count++;System.out.println(nam...

三个名字......@__@ 另外,TreeSet构造的时候可以传入一个Comparator对象作为参数,这个对象负责比较TreeSet的元素。所以无论你要排序什么,你只要定义一个Comparator即可,排序规则你自己了解就行

自然排序就是按字母书序排序 比如 a->b->c..... 0->1->2->3.... 如果是字符串那么会按一个个的字母排序如果相等就比较下一个位置的字符, 知道比出大小位置 比如 abc->acd->ace->ade.......

你的这个方法改成这样: public int compareTo(Object o) { // TODO Auto-generated method stub return o.hashCode(); } 就行了。。 因为Set是不能存放相同的值的。。而它是怎么判断值的呢。就是靠的上面的方法。。 你原代码都是返回0的,所以...

你根据String 的值比较,同等的值只能插入一次,你看看你的比较器MyComparator2())

网站首页 | 网站地图
All rights reserved Powered by www.wdjh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com