zoukankan      html  css  js  c++  java
  • 总体框架

    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

  • 相关阅读:
    XVI Open Cup named after E.V. Pankratiev. GP of Ekaterinburg.
    2017 Multi-University Training Contest
    spring IOC快速入门,属性注入,注解开发
    hibernate注解开发,三种查询语句
    hibernate主键生成策略,一级缓存,一对多关系配置
    struts2值栈,OGNL表达式,interceptor
    Oracle基础进阶
    Oracle基础
    mysql和Oracle的简单比较
    Linux的基础命令
  • 原文地址:https://www.cnblogs.com/huangzhe1515023110/p/9276050.html
Copyright © 2011-2022 走看看