集合框架 set list

集合框架
        功能框架,只是一种结构
        
        collection
        List  Set
        
        List   经常用到的ArrayList  LinkedList
        
        ArrayList  数组列表:
            下标   长度
            
            从构造器来分析  ArrayList初始容量为10
            后续添加数据的过程中会继续拓展式增加当前的容量
            
        add(E e)  添加  E代表什么?E代表着所有的数据类型
        
        ArrayList  list = new ArrayList();
        list.add(1);
        list.add(true);
        list.add("String");
        list.add('A');
        
        System.out.println(list.size());
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        
        ArrayList 获取数据的时候是使用的随机抽取机制来获得数据的
        
        查询的速度 快
        对数据操作起来 慢
        
        
        LinkedList 链表
        既然是链表那么就会让所有的数据连接在一起
        链表上的每个元素都会记载着后一个元素的存储地址
        
        查询的速度 慢
        修改数据  快
        http://blog.csdn.net/i_lovefish/article/details/8042883
        Set  常用的hashSet  TreeSet
        
        Set会去掉重复放入值
        
        HashSet集合中不可存入相同的数据但是可以存放NUll值
        TreeSet集合是有序的排列(自然顺序)中不允许存放null值会报空指针
        
        
        Map 独立的
            key-value  是按照键值对的形式存储的
            
            key不可重复  看最后一个key来决定其中要存储的是谁
            
            key值不好获取,但是key相当于我们日常中排序
            value的获取方式有两种:
                直接将map转化称Set  迭代所有的key和value
                直接使用collection视图来获取当前所有的value
        
        list  set  map
        
        list最为方便  set需要迭代器  map还需要转化
        
        collection  和 collections
        前一个是接口  后一个是实用类  实用类是专门对集合进行操作的
        
        
        泛型
            就是针对于引用类型再次添加上一个特殊的参数
            
            泛型用的地方用的最多的是集合
            
            提供了一个向上转型和向下转的安全机制
            
            
            ArrayList<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        for (Integer a : list) {
            System.out.println(a);
        }
            List<E> list = new ArrayList<E>();
            
        
        实用了泛型就可以使用增强型for循环
        不用再编写那么多的条件和初始化定义变量

posted @ 2017-06-05 16:04  蓁蓁  阅读(183)  评论(0编辑  收藏  举报