1.Java集合框架为不同类型的集合定义了大量接口

  其中,集合有两个基本接口:Collection和Map。

  

  

  2.各接口的主要特征如下

  (1)Collection接口:是List接口、Set接口和Queue接口的父接口,通常情况下不能被直接使用。

  (2)List接口:实现了Collection接口,List接口允许存放重复的对象,按照对象的插入顺序排列

  (3)Set接口:实现了Collection接口,Set接口不允许存放重复的对象,按照自身内部的排序规则排列

  (4)Queue接口:实现了Collection接口,Queue接口只允许在队列的尾部添加元素,在队列的头部删除元素,并且可以统计队列中元素的个数。

  (5)Map接口以键值对(Key-Value)的形式存放对象,其中键(key)对象不可以重复,值(Value)对象可以重复,按照自身内部的排序规则排列。

  (6)Iterator接口:定义了访问集合中元素的第一种方式,迭代器访问,必须顺序地访问元素。

  (7)RandomAccess接口:定义了访问集合中元素的第二种方式,使用一个整数索引访问,即随机访问,可以按任意顺序访问元素。

  3.实现了各个接口的类

  

  Java中集合的实现类的描述

  • List
  1. ArrayList:可以动态增长和缩减的索引序列
  2. LinkedList:(实现了Queue接口)可以在任何位置进行高效地插入和删除操作的有序序列,即链表序列
  • Set
  1. HashSet:没有重复元素的无序集(--子类LinedHashSet:可以记住元素插入次序的集)
  2. EnumSet:包含枚举类型值的集
  3. TreeSet:有序集
  • Queue
  1. PriorityQueue:允许高效删除最小元素的集合
  2. ArrayDeque:用循环数组实现的双端队列
  • Map
  1. HashMap:存储键/值关联的数据结构(--子类LinkedHashMap:可以记住键/值项添加次序的映射表)
  2. TreeMap:键/值有序排列的映射表
  3. EnumMap:键/值属于枚举类型的映射表
  4. WeakHashMap:其值无用武之地后可以被垃圾回收器回收的映射表
  5. IdentityHashMap:用“==”而不是equals比较键/值的映射表

  

Java基础(十九)集合(1)集合中主要接口和实现类的更多相关文章

  1. Java基础(二十一)集合(3)List集合

    一.List接口 List集合为列表类型,列表的主要特征是以线性方式存储对象. 1.实例化List集合 List接口的常用实现类有ArrayList和LinkedList,根据实际需要可以使用两种方式 ...

  2. Bootstrap <基础十九>分页

    Bootstrap 支持的分页特性.分页(Pagination),是一种无序列表,Bootstrap 像处理其他界面元素一样处理分页. 分页(Pagination) 下表列出了 Bootstrap 提 ...

  3. Java基础十二--多态是成员的特点

    Java基础十二--多态是成员的特点 一.特点 1,成员变量. 编译和运行都参考等号的左边. 覆盖只发生在函数上,和变量没关系. Fu f = new Zi();System.out.println( ...

  4. Java基础十--接口

    Java基础十--接口 一.接口的定义和实例 /* abstract class AbsDemo { abstract void show1(); abstract void show2(); } 8 ...

  5. “全栈2019”Java第九十九章:局部内部类与继承详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  6. “全栈2019”Java第九十五章:方法中可以定义静态局部内部类吗?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  7. “全栈2019”Java第二十九章:数组详解(中篇)

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. “全栈2019”Java第十九章:关系运算符、条件运算符和三元运算符

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  9. 第4节:Java基础 - 必知必会(中)

    第4节:Java基础 - 必知必会(中) 本小节是Java基础篇章的第二小节,主要讲述抽象类与接口的区别,注解以及反射等知识点. 一.抽象类和接口有什么区别 抽象类和接口的主要区别可以总结如下: 抽象 ...

  10. Java基础扫盲系列(-)—— String中的format

    Java基础扫盲系列(-)-- String中的format 以前大学学习C语言时,有函数printf,能够按照格式打印输出的内容.但是工作后使用Java,也没有遇到过格式打印的需求,今天遇到项目代码 ...

随机推荐

  1. jquery的api以及用法总结-选择器

    jQuery API及用法总结 选择器 基本选择器 * 通用选择器 .class 类选择器,一个元素可以有多个类(chrome使用原生js函数getElementByClassName()实现) 利用 ...

  2. FormatMessage将错误代码转换成对应的字符串

    // ConsoleApplication1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" int _tmain(int argc, _T ...

  3. plsql导入导出表结构和数据对象

    一.Tools的导出表结构:export User objects 二.Tools的Export Tables选项 导出表数据:export tables (选择:exp.exe) 三. 导入表结构: ...

  4. uC/OS-III 时钟节拍(一)

    时钟节拍就是操作系统的时基,操作系统要实现时间上的管理,必须依赖于时基(时基即时间基准,操作系统的基准时钟). uC/OS-III时钟节拍的实现过程 时钟节拍就是系统以固定的频率产生中断(时基中断), ...

  5. mybatis - 通用mapper

    title: 玩转spring-boot-mybatis date: 2019-03-11 19:36:57 type: "mybatis" categories: mybatis ...

  6. 定一条数据用: => slot-scope属性,再显示对应的数据

    通过 Scoped slot 可以获取到 row, column, $index 和 store(table 内部的状态管理)的数据: {{scope.row}} =>获取整行的数据 {{sco ...

  7. yii2 对字段 自动加一 或 减一

    用于数字类型,将值进行 累加 或者 累减 $count = 1, 就是加一 .   $count = -1, 就是减一 . $effect =  Model::updateAllCounters( [ ...

  8. nextjs:如何将静态资源发布到 CDN

    nextjs 是基于 react 的服务端同构指出框架,在使用的过程中也多多少少遇到过几个问题,其中最大的问题就是静态资源的发布了. 1. 如何基于文件内容进行 hash 命名 Next.js use ...

  9. Maya零基础新手入门教程第一部分:界面

    第1步:菜单 如果您曾经使用过一个软件,那么您将习惯菜单!在Maya中,菜单包含用于在场景中工作的工具和操作.与大多数程序一样,主菜单位于Maya窗口的顶部,然后还有面板和选项窗口的单独菜单.您还可以 ...

  10. Travis CI持续集成使用

    用好这个工具不仅可以提高效率,还能使开发流程更可靠和专业化,从而提高软件的价值.而且,它对于开源项目是免费的,不花一分钱,就能帮你做掉很多事情. 一.什么是持续集成? Travis CI 提供的是持续 ...