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 不唯一 无序

  • 相关阅读:
    Commander Nodejs 命令行接口
    数据库集群 ---续集
    数据库集群
    实时查看linux下的日志
    自动化测试
    python中list和dict
    super与this的用法
    数据类型
    父类调用子类方法
    子类调用父类方法
  • 原文地址:https://www.cnblogs.com/secoding/p/9497797.html
Copyright © 2011-2022 走看看