黑马程序员技术交流社区

标题: 集合总结 [打印本页]

作者: IT小笨鸟    时间: 2016-4-2 21:32
标题: 集合总结
集合:单列集合(Collection)、双列集合(Map)
                 |                                 |
          List    、   Set           HsahMap、TreeMap
              |         |
      ArrayList、 HsahSet
      Vector       TreeSet
      LinkedList  
List特点:有序,元素可重复
Set特点:无序,元素唯一(依赖于hashCode()与equals()方法)
ArrayList:底层数据是数组,查询快,增删慢,线程不安全,效率高
Vector:底层数据是数组,查询快,增删慢,线程安全,效率低
LinkedList:底层数据是链表,查询慢,增删快,线程不安全,效率高

HashSet:元素唯一,无序(这里说的有序、无序指的是元素输入与输出的顺序一不一样)
TreeSet:元素唯一,可以排序,有自然排序与比较器排序两种(区别在于构造方法)
比较器排序需要重写Comparator中的compare( )方法
LinkedHashSet:HashSet的子类,底层数据是哈希表与链表,比HashSet多了有序的特性


Map集合的元素是键值对形式的,其中键是唯一,值可以重复,操作方法在于操作键的方法
方法大同小异,需要了解的是:
    当你用使用集合时,要想清晰的知道自己想的集合的特点:单个的还是成对的;有序的还是无序的,元素可以重复吗;需要排序吗?
按照这个原则去使用符合实际情况的集合就可以了。
遍历集合的方式有3种:
迭代器、增强for、普通for
我比较习惯使用的是增强for,格式是(数据类型   数据名:集合对象)




      




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2