java集合概述

集合和数组的区别
  A:长度区别
   数组固定
   集合可变
  B:内容区别
   数组可以是基本类型,也可以是引用类型
   集合只能是引用类型
  C:元素内容
   数组只能存储同一种类型
   集合可以存储不同类型(实际使用中集合一般存储的也是同一种类型)

集合的继承体系

 Collection
   |--List
       |--ArrayList
       |--Vector
       |--LinkedList
   |--Set
       |--HashSet
       |--TreeSet

 集合的遍历功能

  1转成数组(toArray)

  2使用迭代器(集合专用)

    demo

   

                                     //遍历集合c是一个集合对象 
list<String> c = new ArrayList<String>();
//添加string代码省略
Iterator it = c.iterator(); while(it.hasNext()) { String s =(String) it.next(); System.out.println(s); }

 总结

   List的子类特点
   ArrayList
   底层数据结构是数组,查询快,增删慢。
   线程不安全,效率高。
   Vector
   底层数据结构是数组,查询快,增删慢。
   线程安全,效率低。
   LinkedList
   底层数据结构是链表,查询慢,增删快。
   线程不安全,效率高。
   
  到底使用谁呢?看需求?
   分析:
   要安全吗?
      要:Vector(即使要,也不使用这个,后面再说)
         不要:ArrayList或者LinkedList
               查询多;ArrayList
               增删多:LinkedList
     
        什么都不知道,就用ArrayList。实际开发中,这个用的最多。

 

posted on 2016-06-20 22:09  一只小蜗牛12138  阅读(147)  评论(0编辑  收藏  举报

导航