• java集合框架collection(6)继承结构图


    根据《java编程思想》里面的说法,java集合又叫容器,按照单槽和双槽分为两类,Collection和Map,这两个都是接口。

    一、Collection

    Collection下面又分了三个子接口,分别是Set,List和Queue,他们的特性分别是:

    1.Set:元素唯一,即Set中的元素永远不可能重复,跟数学中的集合概念是一样的。它的所有实现类都有相同的特征。

    主要实现类有三个:HashSet,LinkedHashSet,TreeSet

    • HashSet的底层实现是HashMap中的key,因此它的特点是无序不重复;
    • LinkedHashSet底层实现是LinkedHashMap,特点是元素变得有序了。这里的有序指遍历顺序和插入顺序相同。
    • TreeSet的底层实现是TreeMap,也是有序的,这里的有序指按照元素本身的大小排序,对于Integer、String,本身已经实现了Comparable接口,所以他们是可比较的。开发者自定义的对象,需要自己实现Comparable接口,以方便程序执行元素的比较。

    2.List:有序,List是有序可重复的,这里的有序也是只遍历顺序和插入顺序相同。最常用的实现类:

    • ArrayList底层实现是数组,所以查询效率高,增删效率低;
    • LinkedList底层实现是链表,长于插入删除,查询效率低。

    3.Queue:队列,特点是先进先出,只允许在队列前端删除,队列后端插入,常用实现类PriorityQueue.

    二、Map

    如果说数组和List实现了下标和元素对象的映射,那么Map就实现了对象和对象之间的映射。

    主要实现类:HashMap,LinkedHashMap和TreeMap

    HashMap的底层使用了哈希表,可以实现快速的查找。

    LinkedHashMap最大的特点是key值有序了,遍历顺序和插入顺序相同。

    TreeMap的底层是红黑树,新插入的元素会跟Map中原有元素进行比较,并插入到该插入的位置。TreeMap中对象,必须实现Comparable接口。

  • 相关阅读:
    关于垂直居中
    linux 前后台程序切换
    mac 下jetbrains IDE系列IDE主题
    mac 安装命令行开发者工具
    python 安装MySQLdb mysql_config not fount
    error: command 'cc' failed with exit status 1
    sqllite 入门
    jieba分词
    zookeeper 故障重连机制
    深入学习 celery
  • 原文地址:https://www.cnblogs.com/wangbin2188/p/9001335.html
Copyright © 2020-2023  润新知