zoukankan      html  css  js  c++  java
  • java容器集合

    java 集合分为 Collection 和 Map 两大类

    Collection 是 Java 集合框架的顶层接口,它是对容器类进行增、删、改、查的定义,同时继承了 Iterable 接口,具有对集合或容器中的元素进行遍历的能力

    Collection 继承了 Iterable 接口,具有了快速遍历的能力,Iterable 接口中定义了获取集合迭代器的方法 iterator(),该方法返回一个容器的迭代器,迭代器接口中定义 2 个方法用于结合 while 或 for 迭代

    根据存储数据结构把 Collection 细分为两种子集合:

      List:元素有序,可重复(不唯一)的集合,包含以下三个实现类:

        ArrayList 是 List 接口的可变数组的实现类,可以自动拓容

        Vector(已过时)

        LinkedList 是 List 的实现类,底层数据结构是链表

      Set:元素无序,唯一的集合,包含以下两个实现类:

        HashSet 是 Set 接口的实现类,底层数据结构是 Hash 表/散列表,查找效率高、添加效率高、删除效率高

          LinkedHashSet 底层数据结构是 Hash 表+链表,通过内部的链表维持添加次序,继承于 HashSet

        TreeSet 是 Set 接口的实现类,底层数据结构是二叉树,排序后查询速度比 HashSet 快

    Map 表示映射关系的集合,里面存储的元素是 key-value(键值对),键值对就表示映射关系,里面 key 唯一

    包含有以下三个子集合:

      HashMap 是 Map 的实现类,其中 key 是按照 HashSet 存储的

      LinkedHashMap 是 Map 的实现类,其中 key 是按照 LinkedHashSet 存储的

      TreeMap 是 Map 的实现类,其中 key 是按照 TreeSet 存储的

    总结:

    名称

    存储结构

    顺序

    唯一性

    查询效率

    添加/删除效率

    ArrayList

    顺序表

    有序(添加)

    不唯一

    LinkedList

    链表

    有序(添加)

    不唯一

    最高

    HashSet

    Hash

    无序

    唯一

    最高

    最高

    HashMap

    Hash

    Key无序

    Key唯一

    最高

    最高

    LinkedHashSet

    Hash+

    有序(添加)

    唯一

    最高

    最高

    LinkedHashMap

    Hash+

    Key有序( 添加)

    Key唯一

    最高

    最高

    TreeSet

    二叉树

    有序(升序)

    唯一

    中等

    中等

    TreeMap

    二叉树

    有序(升序)

    Key唯一

    中等

    中等

  • 相关阅读:
    TP框架模板中IF Else 如何使用?
    Append 后如何使用 fadein淡入效果
    ThinkPad如何修改fn键默认操作
    TP框架ajax U方法不解析怎么办?
    thinkphp session如何取数组
    FTP服务搭建
    Linux系统学习之字符处理
    如何使用zabbix初级监控
    项目同步部署
    巡检常用命令
  • 原文地址:https://www.cnblogs.com/xianyuit/p/10854387.html
Copyright © 2011-2022 走看看