http://blog.csdn.net/treeroot/archive/2004/09/18/108790.aspx

解决方案 »

  1.   

    TreeMap和TreeSet实现的是SortedMap和SortedSet接口
    和HashMap的使用场合完全不一样。
      

  2.   

    Set 就是数学中的集合,值唯一,允许有Null值。
    Map 就是映射表了,即保存key - value
    List 就是链表。ArrayList 是动态数组类,可以动态增长,缺点是从数组中间删除一个元素很费时。且其不属于同步方式,否则用Vector
    LinkedList 可以解决上面的问题,但是其是个有序集合,即插入时需要遍历列表。HashSet 即散列集,是个链接式列表的阵列。见数据结构中的哈希表。
    TreeSet 与HashSet类似,不过比HashSet有改进。树集TreeSet是个有序集合,可按照任何顺序将元素插入该集合。散列集是个集合,它使你能迅速找到某个现有的元素,但是若要查找一个元素,你必须拥有查找元素的确切拷贝。这不是通用的查找方法,通常你要拥有某些关键字的信息,并且你需要查找相关的元素。Map数据结构可以达到这个目的。
    但选HashMap还是TreeMap呢?与HashSet一样,HashMap运行速度比较快,如果不需要按照排序顺序来访问关键字,那么最好选HashMap更详细的看Doc文档
      

  3.   

    这个说起来就话长了,不管俺常用的也就ArrayList/HashMap
    简单说两句:
    list的相当于链表(线性的)
    set就是个集合,不允许重复.
    map那存的都是对象的键值对.TreeMap和TreeSet是分类了的(sorted)
    HashMap和HashSet是没有分类,也没有排序的.
    带有Linked的都是又顺序的(order)