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. python + selenium 环境搭建及问题

    搭建平台windows 准备工具如下: ------------------------------------------------------------- 下载python https://w ...

  2. SPSS学习笔记参数检验—两独立样本t检验

    目的:利用来自两个总体的独立样本,推断两个总体的均值是否存在差异. 适用条件: (1)样本来自的总体应服从或近似服从正态分布: (2)两样本相互独立,两样本的样本量可以不等: 案例分析: 案例描述:评 ...

  3. Scrapy项目 - 实现豆瓣 Top250 电影信息爬取的爬虫设计

    通过使Scrapy框架,掌握如何使用Twisted异步网络框架来处理网络通讯的问题,进行数据挖掘和对web站点页面提取结构化数据,可以加快我们的下载速度,也可深入接触各种中间件接口,灵活的完成各种需求 ...

  4. JAVA线程基础概念及使用

    一.线程和进程的区别 在操作系统中所有运行的任务通常对应一个进程,进程是系统进行资源分配和调度的一个独立单位.线程是进程的组成部分,一个进程最少包含一个线程.并发和并行的区别是,并发指的在同一时刻内, ...

  5. mybatis 配置之<typeAliases>别名配置元素设置

    一.方式一:使用typeAlias <typeAliases> <typeAlias alias="User" type="com.**.entity. ...

  6. Java8新特性——lambda函数式编程

    一.遍历循环 /** * @author jiaqing.xu@hand-china.com * @version 1.0 * @name * @description 循环遍历 * @date 20 ...

  7. gitbook 入门教程之小白都能看懂的 Gitbook 插件开发全流程

    什么是插件 Gitbook 插件是扩展 GitBook 功能(电子书和网站)的最佳方式. 只要是 Gitbook 默认没有提供的功能,基于插件机制都可以自行扩展,是插件让 Gitbook 变得更加强大 ...

  8. 《老师说的都对》第一次作业:OUC网上课程评价系统

    项目介绍: 项目名称:OUC网上课程评价系统 项目概述:实现一个公开的网上课程评价系统.开课老师也可以在自己的课程主页填写自己的课程内容介绍,学生可以在课程页面中评价自己上过的课程.为想要选课的学生提 ...

  9. .Net Core快速创建Windows服务

    1.新建.Net Core控制台程序,添加新建项Windows服务: NuGet引用 System.ServiceProcess.ServiceController,然后修改Progran.cs: c ...

  10. 体验Code::Blocks下的Windows GUI编程(32 bit and 64 bit)

    0. 前言 不知道为什么,几乎所有的C++编程教程都是从命令行版(控制台应用程序)的Hello World开始的.然而,对于现在的年轻人来说,从小就用鼠标点击窗口或图标操作电脑,对于那个神秘黑色的窗口 ...