黑马程序员技术交流社区

标题: 集合概述来一波 [打印本页]

作者: 暴走的牛奶    时间: 2015-8-25 23:29
标题: 集合概述来一波
1. 集合和数组区别
   集合变长
   数组定长
   
   数组存储基本类型,也存储对象
   集合只存储对象,不存储基本类型
   
   数组存储类型单一
   集合存储任意类型对象
   
2. 学习集合
   集合是容器,存储对象
   数据多了存储数组,对象多了存集合
   
   学习集合,主要学习什么
     A. 会存储
     B. 会获取
     C. 熟悉每个集合容器的自身特性
     
  杯子分很多种
    夜光杯 -- 酒
    咖啡杯 -- 咖啡
    水杯    -- 凉白开
   
3. 迭代器
     迭代器,就是获取出集合中存储元素的一种方式 (遍历)
     
       集合顶层接口中定义方法 iterator() 整个Collection下面的小弟都具备
      
   Iterator iterator()作用,返回迭代器对象,返回值是接口类型
       接口是没有对象,返回接口实现类对象
      
   Iterator接口方法
     boolean hasNext() 判断集合中有没有下一个被取出的元素,如果有返回true
     Object  next() 获取出集合中的元素
     void    remove() 移除集合中的元素
     
4. 迭代器的源代码实现 -- ArrayList
interface Iterator{
    boolean hasNext();
    Object next();
    void remove();
}

interface Collection{
    Iterator iterator();
}
//List extends Collection
public class ArrayList implements List{
     public Iterator iterator(){
       // 返回 Iterator 实现类对象
       return new Itr();   
     }
     //定义类内部类,实现接口Iterator
     private class Itr implements Iterator{
         //重写了Iterator接口的三个抽象方法
     }
}
   main(){
      Collection col = new ArrayList();
      Iterator it = col.iterator();
   }


5. List接口
  List接口继承自Collection接口
  List接口三个实现类, ArrayList,LinkedList,Vector
  
  List接口派系集合的特点
         有序的集合   怎么存储的就怎么取出
         允许存储重复元素
         集合中的元素都有索引


作者: visen    时间: 2015-8-25 23:44
赞一个!!
作者: 阮文江    时间: 2015-8-25 23:47
复习下,顶一个




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