奇怪的HashSet 和变换后的TreeSet
HashSet ,作为Set集合的一个实现类,很多书中写到Set中不能存放重复的元素。事实上并非如此。看下面的一个简短的例子
import java.util.*;class A implements Comparable {public int compareTo(Object o) {// 返回值为0时,表示两个对象相等不可以添加;否则添加成功return 1;}}public class TestTreeSet {public static void main(String[] args) {TreeSet<A> ts = new TreeSet<A>();A a = new A();A b = new A();// 进行添加时,调用compareTo()方法进行比较。一来判断是否重复;二来,是为了排序ts.add(a);ts.add(b);System.out.println(ts.size());}}?
1 楼 xieyongwei 2012-03-03 第一个例子里面 ao的hascode变了,是否还可以认为是同一个对象? 2 楼 crab1 2012-03-03 xieyongwei 写道第一个例子里面 ao的hascode变了,是否还可以认为是同一个对象?