• 浅谈Collection集合


    俗话说:一个东西,一件事都离不开三句话:“是什么,为什么,怎么办”

    集合是什么:

                 集合简单的说一个数组集合的高级体现,用来存储数据或对象的容器;

    集合为什么存在:

                 集合只是体现了对数据操作的灵活度;大大方便了开发者的效率;

    集合怎么使用:

                 使用分了以下几种方式:        Collection     集合   1.list    2.Set

                        List

              List            底层数据结构   查询 增删 线程   效率
     ArrayList     数组  不安全
    Vector   数组 安全
    LinkedList       链表   不安全    高

     

     

        

                 

            Set

    Set 底层数据结构 有序 唯一 排序
    HashSet 哈希表 是(依赖hashCode()和equals()) --
    LinkedhashSet 链表和哈希表

    由链表保证元素有序
    由哈希表保证元素唯一

    --
    TreeSet 红黑树 --

    a.自然排序

    b.比较器排序

     

     

    (4)Collection的功能概述

              List cn=new ArrayList();
         A:添加功能

               add(Object e);//直接自然顺序插入

               add(index, element);//按索引插入
         B:删除功能

                 remove(index);//根据索引移除
         C:判断功能

                 cn.contains(object e)//判断cn集合中是否存在元素e
         D:获取功能

                  cn.get(index)//跟据索引获取值
         E:长度功能

                   cn.size()//返回集合长度
         F:交集(了解)

           cn.retainAll(Collection c)//cn对c做交集

           cn对c做交集  返回值是boolean值

       有交集       则返回true  存在交际则cn集合中的值会返回交集值

       无交集        则返回false
        G:把集合转数组

            cn.toArray()
    (5)Collection集合的遍历
         A:把集合转数组(一般不用)

         遍历集合 改成 遍历数组
         B:迭代器(集合专用方式) 
               迭代器

       //创建cn集合对象的迭代器

         iterator it=cn.iteraror();

         while(it.hasnext())

         {System.out.println(it.next())}
               1:是集合的获取元素的方式。
               2:是依赖于集合而存在的。
               3:迭代器的原理和源码。
                       a:为什么定义为了一个接口而不是实现类?

                             简单的说:不管是哪一种集合,我们都要获取集合中的数据,并且在获取之前辅助于判断功能,也就是说在获取元素之前先进行判断,那么集合就有两个功能(判断,查询)。这样如果是实现类只能去实现某一个集合,反而接口可以做到,让子类自己去实现接口,这样就达到要求了;

    (5)并发修改异常
        A:出现的现象
              迭代器遍历集合,集合修改集合元素
        B:原因
              迭代器是依赖于集合的,而集合的改变迭代器并不知道。
        C:解决方案
              a:迭代器遍历,迭代器修改(ListIterator)
                    元素添加在刚才迭代的位置
              b:集合遍历,集合修改(size()和get())
                    元素添加在集合的末尾
      (6)常见数据结构
             A:栈 先进后出
             B:队列 先进先出
             C:数组 查询快,增删慢
             D:链表 查询慢,增删快

     

  • 相关阅读:
    20180925-5 代码规范,结对要求
    20180925-6 四则运算试题生成
    20180925-7 规格说明书-吉林市2日游
    第二周例行报告
    第二周博客作业
    【杨老师粉丝群】第一周立会报告第四次
    20180925-1 每周例行报告
    规格说明书——吉林市两日游
    效能分析
    四则运算试题生成
  • 原文地址:https://www.cnblogs.com/fjkgrbk/p/Collection_easy.html
Copyright © 2020-2023  润新知