RT

解决方案 »

  1.   

    区别很大
    HashSet 是哈希表实现的,无序的结合,表现为检索(contains)的时间复杂度是 o(0)
    TreeSet 是红黑树实现的,排序的集合
      

  2.   

    先看看源码:public class TreeSet<E>
        extends AbstractSet<E>
        implements SortedSet<E>, Cloneable, java.io.Serializablepublic class HashSet<E>
        extends AbstractSet<E>
        implements Set<E>, Cloneable, java.io.Serializable其中SortedSet中组合了一个:Comparator<? super E> comparator();因此 TreeSet与HashSet最大区别在于排序.........
      

  3.   

    一个是排序的,一个是不排序的所以用要么放入TreeSet里面的对象都实现Comparable接口,要么创建TreeSet的时候制定Comparator
      

  4.   

    1、Treeset中的数据是自动排好序的,不允许放入null值2、HashSet中的数据是无序的,可以放入null,但只能放入一个null,两者中的值都不能重复,就如数据库中唯一约束3、HashSet要求放入的对象必须实现HashCode()方法,放入的对象,是以hashcode码作为标识的,而具有相同内容的String对象,hashcode是一样,所以放入的内容不能重复。但是同一个类的对象可以放入不同的实例
      

  5.   

    1.HashSet无序集合,放入顺序与取出顺序不一致。2.TreeSet自动排好序,而且必须放相同的类型,放不同的类型就会报错。
      

  6.   

    TreeSet --> Tree
    HashSet --> Hash
      

  7.   

    1.TreeSet实现 Set 接口,该接口由 TreeMap 实例支持。保证排序后的 set 按照升序排列元素。2.HashSet类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证集合的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。
      

  8.   

    HashMap和Hashtable的区别。
    答案:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都实现了Map接口, 
    主要区别在于HashMap允许空(null)键值(key)与空值(value),由于非线程安全,效率上可能高于Hashtable,Hashtable不允许有空(null)键值(key)与空值(value)。http://topic.csdn.net/u/20091211/12/63a8e47b-a98f-4e59-b294-19dffd706a0b.html
      

  9.   

    Hashset不保留先后、大小和次序
    你输入12345,遍历出来可能是31524LinkedSet保留先后次序
    你输入12345,遍历保证12345TreeSet保留大小次序
    你输入31524,遍历结果是12345Map同