zoukankan      html  css  js  c++  java
  • Java学习 · 初识 容器和数据结构

    容器和数据结构

    1. 1.   集合的引入

    a)     集合的使用场景:需要将一些相同结构的个体整合到一起时

                      i.           新闻列表

                    ii.           邮件列表

                  iii.           购物车

    b)    为什么使用集合不使用数组

                      i.           相似点

    a)     储存多个对象,对外作为一个整体

                    ii.           数组缺点

    a)     长度需要在初始化时就指定

    b)    采用连续储存空间,删除和添加元素时效率低下

    c)     无法直接保存映像关系

    d)    没有封装,使用繁琐

    c)     集合架构

                      i.           Java中提供了一套接口和类

                    ii.          

    1. 四大接口

    a)     Collection接口

                                                     i.           不唯一,无序的对象

    b)    List

                                                     i.           不唯一,有序的对象

                                                   ii.           两个实现

    1. ArrayList

    a)     在内存中分配了连续的空间,实现数组可变长度

    b)    优点:遍历元素和随机访问元素小老板较高

    c)     缺点:添加和删除元素效率低,按照内容查询效率低

    d)   

    1. LinkedList

    a)     采用双向链表储存方式

    b)    遍历和随机访问效率较低

    c)     添加和删除元素效率较高,在低效率查询下

    d)   

     常用方法

                                                                                     i.           相比Collection增加了位置操作

                                                                                   ii.          

                                                                                 iii.          

    c)     Set

                                                     i.           唯一,无序的对象

                                                   ii.           两种实现

    1. HashSet

    a)     采用哈希表储存结构

    b)    添加、插叙、删除速度快

    c)     缺点:无序

    1. LinkedHashSet

    a)     采用哈希表储存结构,链表维护次序

    b)    有序(添加顺序

    1. TreeSet

    a)     采用二叉树(红黑树)储存结构

    b)    有序、查询速度比list快(按内容查询

    c)     查询速度没有HashSet快

                                                  iii.           方法

    d)    Map

                                                     i.           键值对象,从Key到Value的映射

                                                   ii.           Key 唯一 无序

                                                  iii.           Value 不唯一 无序

  • 相关阅读:
    Android studio 3+版本apk安装失败问题
    解决华为手机图片选择无效及产生的open failed: EACCES (Permission denied)错误
    Caused by:java.lang.IllegalStateException at android.media.MediaPlayer._setDataSource(Native Method)
    android尺子的自定义view——RulerView
    自定义shareSDK的验证码短信内容
    解决java.lang.IllegalStateException: The application’s PagerAdapter changed the adapter’s content
    解决Android 7.0 App内切换语言不生效的问题
    ClassNotFoundException和NoClassDefFoundError的解决办法
    viewpager+fragment滑动切换卡顿问题
    ios的并发队列控制库
  • 原文地址:https://www.cnblogs.com/secoding/p/9497797.html
Copyright © 2011-2022 走看看