set的两个子类 HashSet和TreeSet
HashSet是通过先比较HashCode再比较equals方法来判断的
TreeSet
1):元素自身具备比较性;那么,集合中所存储的类必须实现comparble接口,并重写接口中的compareTo()方法。这种方法return值为整数;
2):当元素自身不具备比较性(更确切的说是我们无法让所存储的类实现comparble接口,例如,从数据库中得到的数据类型)或者是该类所实现的compareTo()方法并非我们所期望的时(String类型,默认是按字典顺序进行比较的),那么我们就要考虑所集合自身具备比较性.java为我们提供了一个带比较器的参数的构造函数,以做到这一点。TreeMap(Comparator<? super K> comparator)Comparator是一接口,它里面有两个方面compare()和equals(),当我们要实现这个接口时,只需重写compare()方法即可,它的返回值类型也为int型。 |