- TreeSet是二叉树(红黑树的数据结构)实现的,TreeSet中的数据是自动排好序的,不允许放入null值。HashSet是哈希表实现的,HashSet中的数据是无序的,可以放入null,但只能放入一个null,两者中的值都不能重复,就如数据库中的唯一约束。HashSet要求放入的对象必须实现HashCode()方法,放入的对象是以HashCode码作为标识的,而具有相同内容的String对象,HashCode是一样的,所以放入的内容不能重复,但是同一个类的对象可以放不同的实例。
适用场景分析:HashSet是基于Hash算法实现的,其性能通常都是优于TreeSet。为了快速查找而设计的Set,我们通常都应该使用HashSet,在需要排序的功能时才使用TreeSet。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)