Collection集合、List集合

来源:互联网 发布:手动抓取淘宝数据包 编辑:程序博客网 时间:2024/09/21 08:16

* 对象数组
 
 ** 概述: 就是存储对象的数组
   Student[] students = new Student[3] ;

* Collection集合

 ** 由来: 因为数组满足不了我们变化的需求,于是java就给我们提供了另一个相当强大的容器就是集合
 ** 集合继承体系图:
  
  |--- Collection
  
   |-- List
    |--- ArrayList
    |--- Vector
    |--- LinkedList
   |-- Set
    |--- HashSet
    |--- TreeSet
    
 ** 集合功能概述
 
  * 基本功能
   
   boolean add(E e)    添加元素
   boolean remove(Object o)  删除元素
   void clear()     删除所有的元素
   boolean contains(Object o)  判断是否包含o这个元素
   boolean isEmpty()    判断集合是否为空
   int size()      获取集合的长度
  
  * 高级功能
   
   boolean addAll(Collection c)   添加一个集合的元素
   boolean removeAll(Collection c)   删除一个集合的元素(删除一个以上算是删除)
   boolean containsAll(Collection c)  判断是否包含一个集合的元素(包含所有的算是包含)
   boolean retainAll(Collection c)   获取交集 A集合对B集合取交集获取的交集元素存储在A中,返回的boolean类型的值表示A集合是否发生改变
   
  * 把集合转换成数组(了解)

   Object[] toArray() ;
   
  * 使用迭代器遍历集合 (重点掌握)
   
   Iterator iterator() ;
  
   代码演示:
   
    // 创建集合对象
    Collection col = new ArrayList() ;
    
    // 添加元素
    col.add("你好") ;
    col.add("世界") ;
    col.add("爪哇") ;
    
    // 获取迭代器对象
    Iterator it = col.iterator() ;
    
    // 循环遍历
    while(it.hasNext()){
     
     // 获取元素,并且向下转型
     String s = (String)it.next() ;
     
     // 输出
     System.out.println(s + "----" + s.length()) ;
     
    }
  
* List集合
 
 ** 特点: 有序 , 元素可以重复 , 每一个元素都存在整数索引
 ** 特有的功能:
 
  void add(int index,E element):  在指定索引处添加元素
  E remove(int index):    移除指定索引处的元素
  E get(int index):     获取指定索引处的元素
  E set(int index,E element):   更改指定索引处的元素
  
  ConcurrentModificationException: 并发修改异常
 
  解决方案:
  
    使用迭代器遍历集合,然后使用迭代器(ListIterator)修改元素
    使用集合遍历元素,然后使用集合修改元素(普通for循环)
   
数据结构
 
  概述: 就是存储数据的方式
 分类: 栈 , 队列 , 数组 , 链表 , 树 , 哈希表
 
 栈数据结构的特点: 先进后出
 队列数据结构的特点: 先进先出
  数组数据结构的特点: 查询快 , 增删慢
  链表数据结构的特点: 查询慢 , 增删快

List集合下的三个子类的特点

 ArrayList:    底层的数据结构是数组,查询快 ,增删慢; 线程不安全,效率高
 Vector:           底层的数据结构是数组,查询快 ,增删慢; 线程的安全,效率低
 LinkedList:   底层的数据结构是链表,查询慢,增删快; 线程不安全,效率高

 

0 0
原创粉丝点击