• 总体框架


    Java集合是Java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合的工具包位置是java.util.*。

    Java集合主要包括四部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)

    主要框架图:


    先抓主干:Collection和Map

    Collection

    是List、Set和Queue接口的父接口

    定义了可用于操作List、Set和Queue的方法——增删改查

    collection的API中定义的方法:


    List接口

    List是元素有序并且可以重复,被称为序列

    List可以精确的控制每个元素的插入位置,或删除某个元素

    List的常用子类:

    ArrayList

    LinkedList

    Vector

    Stack

    下面是List的JDK源码的UML图:

    Set接口

    Set接口中不能加入重复元素,无序

    Set接口常用子类:

    散列存放:HashSet

    有序存放:TreeSet

    下面是Set的JDK源码的UML图:


    Map

    Map接口

    Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value

    Map中的键值对以Entry类型的对象实例形式存在

    键(key)不能重复,value值可以

    每个键最多只能映射到一个值

    Map接口提供了分别返回key集合,value值集合以及Entry(键值对)集合的方法

    Map支持泛型,形式如:map

    HashMap类

    HashMap类是Map的一个重要实现类,也是最常用的,基于哈希表实现。

    HashMap中的Entry对象是无序排列的

    key值和value值都可以为null,但是一个HashMap只能有一个key值为null的映射(key值不可重复)

    下面是Map的JDK源码的UML图:


    Comparable和Comparator

    Comparable接口——可比较的

    实现该接口表示:这个类的实例可以比较大小,可以进行自然排序

    定义了默认的比较规则

    其实现类需要实现compareTo( )方法

    compareTo( )方法返回正数表示大,负数表示小,0表示相等

    Comparator接口——比较工具接口

    用于定义临时比较规则,而不是默认比较规则

    其实现类需要实现compare( )方法

    Comparator和Comparable都是集合框架的成员

    Iterator接口

    1、集合输出的标准操作,标准做法,使用Iterator接口

    2、操作原理:Iterator是专门的迭代输出接口,迭代输出就是将元素一个一个判断,判断其是否有内容,如果有内容则把内容取出。

    总结

    集合的作用

    在类的内部,对数据进行组织

    简单而快速的搜索大量的条目

    有的集合接口提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素。

    有的集合接口,提供了映射关系,可以通过关键字(key)去快速查找对应的唯一对象,而这个关键字可以是任意类型。

    与数组的对比——为何选择集合而不是数组

    数组的长度固定,集合长度可变。

    数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象。  

    集合框架思维导图


    原文: http://tengj.top/2016/04/12/javajhtotal/  作者: 嘟嘟MD

  • 相关阅读:
    备忘链接执行js时注意target必须是_self或者_top
    windows2003 Server远程连接Event Error;event id:12517,12503,1111
    网站配置了Url重写的Handler会导致虚拟目录找不到dll
    SEO 搜索引擎优化技巧
    11款开源Wiki管理系统
    收集了几个优秀的设计公司网站
    8款开源聊天系统和程序/Open Chat
    制作Web应用程序安装程序的方法
    转:推荐21套非常棒的网页设计图标素材
    14款开源文档管理系统
  • 原文地址:https://www.cnblogs.com/huangzhe1515023110/p/9276050.html
Copyright © 2020-2023  润新知