我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java集合框架由什么组成的

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java集合框架由什么组成的

这篇文章主要为大家展示了“Java集合框架由什么组成的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java集合框架由什么组成的”这篇文章吧。

第一部分  集合框架介绍

Java平台提供了一个全新的集合框架。“集合框架”主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型。

Java集合框架由什么组成的2003-11-30926010.bmp" align=absMiddle border=0>

ASPectratio="t" v:ext="edit">

Java 2集合框架图

  • 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。

  • 抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。

  • 实现类:8个实现类(实线表示),对接口的具体实现。

在很大程度上,一旦您理解了接口,您就理解了框架。虽然您总要创建接口特定的实现,但访问实际集合的方法应该限制在接口方法的使用上;因此,允许您更改基本的数据结构而不必改变其它代码。

·  Collection 接口是一组允许重复的对象。

·  Set 接口继承 Collection,但不允许重复,使用自己内部的一个排列机制。

·  List 接口继承 Collection,允许重复,以元素安插的次序来放置元素,不会重新排列。

·  Map接口是一组成对的键-值对象,即所持有的是key-value pairsMap中不能有重复的key。拥有自己的内部排列机制。

·  容器中的元素类型都为object。从容器取得元素时,必须把它转换成原来的类型。

Java集合框架由什么组成的

Java 2简化集合框架图

第二部分  集合接口

1.Collection 接口

用于表示任何对象或元素组。想要尽可能以常规方式处理一组元素时,就使用这一接口。

Java集合框架由什么组成的

(1) 单元素添加、删除操作:

boolean add(Object o):将对象添加给集合

boolean remove(Object o): 如果集合中有与o相匹配的对象则删除对象o

(2) 查询操作:

int size() :返回当前集合中元素的数量

boolean isEmpty() :判断集合中是否有任何元素

boolean contains(Object o) :查找集合中是否含有对象o

Iterator iterator() :返回一个迭代器,用来访问集合中的各个元素

(3) 组操作 :作用于元素组或整个集合

boolean containsAll(Collection c): 查找集合中是否含有集合c 中所有元素

boolean addAll(Collection c) : 将集合c 中所有元素添加给该集合

void clear(): 删除集合中所有元素

void removeAll(Collection c) : 从集合中删除集合c 中的所有元素

void retainAll(Collection c) : 从集合中删除集合c 中不包含的元素

(4) Collection转换为Object数组 :

Object[] toArray() :返回一个内含集合所有元素的array

Object[] toArray(Object[] a) :返回一个内含集合所有元素的array运行期返回的array和参数a的型别相同,需要转换为正确型别。

此外,您还可以把集合转换成其它任何其它的对象数组。但是,您不能直接把集合转换成基本数据类型的数组,因为集合必须持有对象。

斜体接口方法是可选的。因为一个接口实现必须实现所有接口方法,调用程序就需要一种途径来知道一个可选的方法是不是不受支持。如果调用一种可选方法时,一个 UnsupportedOperationException 被抛出,则操作失败,因为方法不受支持。此异常类继承 RuntimeException 类,避免了将所有集合操作放入 try-catch 块。』

Collection不提供get()方法。如果要遍历Collectin中的元素,就必须用Iterator。

1.1.AbstractCollection 抽象类

AbstractCollection 类提供具体“集合框架”类的基本功能。虽然您可以自行实现 Collection 接口的所有方法,但是,除了iterator()size()方法在恰当的子类中实现以外,其它所有方法都由 AbstractCollection 类来提供实现。如果子类不覆盖某些方法,可选的如add()之类的方法将抛出异常。

1.2.Iterator 接口

Collection 接口的iterator()方法返回一个 IteratorIterator接口方法能以迭代方式逐个访问集合中各个元素,并安全的从Collection 中除去适当的元素。

Java集合框架由什么组成的

(1) boolean hasNext(): 判断是否存在另一个可访问的元素

Object next(): 返回要访问的下一个元素。如果到达集合结尾,则抛出NoSuchElementException异常。

(2) void  remove(): 删除上次访问返回的对象。本方法必须紧跟在一个元素的访问后执行。如果上次访问后集合已被修改,方法将抛出IllegalStateException

『Iterator中删除操作对底层Collection也有影响。』

迭代器是 故障快速修复fail-fast的。这意味着,当另一个线程修改底层集合的时候,如果您正在用 Iterator 遍历集合,那么,Iterator就会抛出 ConcurrentModificationException (另一种 RuntimeException异常)异常并立刻失败。

2.List接口

List 接口继承了 Collection 接口以定义一个允许重复项的有序集合。该接口不但能够对列表的一部分进行处理,还添加了面向位置的操作。

Java集合框架由什么组成的

(1)  面向位置的操作包括插入某个元素或 Collection 的功能,还包括获取、除去或更改元素的功能。在 List 中搜索元素可以从列表的头部或尾部开始,如果找到元素,还将报告元素所在的位置 :

void add(int index, Object element): 在指定位置index上添加元素element

boolean addAll(int index, Collection c): 将集合c的所有元素添加到指定位置index

Object get(int index): 返回List中指定位置的元素

int indexOf(Object o): 返回第一个出现元素o的位置,否则返回-1

int lastIndexOf(Object o) :返回最后一个出现元素o的位置,否则返回-1

Object remove(int index) :删除指定位置上的元素

Object set(int index, Object element) :用元素element取代位置index上的元素,并且返回旧的元素

(2) List 接口不但以位置序列迭代的遍历整个列表,还能处理集合的子集:

ListIterator listIterator() : 返回一个列表迭代器,用来访问列表中的元素

ListIterator listIterator(int index) : 返回一个列表迭代器,用来从指定位置index开始访问列表中的元素

List subList(int fromIndex, int toIndex) :返回从指定位置fromIndex(包含)到toIndex(不包含)范围中各个元素的列表视图

『对子列表的更改(如 add()remove()set() 调用)对底层 List 也有影响。』

2..ListIterator接口

ListIterator 接口继承 Iterator 接口以支持添加或更改底层集合中的元素,还支持双向访问。ListIterator没有当前位置,光标位于调用previousnext方法返回的值之间。一个长度为n的列表,有n+1个有效索引值:

Java集合框架由什么组成的

Java集合框架由什么组成的

(1) void add(Object o): 将对象o添加到当前位置的前面

void set(Object o): 用对象o替代nextprevious方法访问的上一个元素。如果上次调用后列表结构被修改了,那么将抛出IllegalStateException异常。

(2)  boolean hasPrevious(): 判断向后迭代时是否有元素可访问

Object previous():返回上一个对象

int nextIndex(): 返回下次调用next方法时将返回的元素的索引

int previousIndex(): 返回下次调用previous方法时将返回的元素的索引

『正常情况下,不用ListIterator改变某次遍历集合元素的方向 — 向前或者向后。虽然在技术上可以实现,但previous() 后立刻调用next(),返回的是同一个元素。把调用 next()和previous()的顺序颠倒一下,结果相同。』

『我们还需要稍微再解释一下 add() 操作。添加一个元素会导致新元素立刻被添加到隐式光标的前面。因此,添加元素后调用 previous() 会返回新元素,而调用 next() 则不起作用,返回添加操作之前的下一个元素。』undefined

以上是“Java集合框架由什么组成的”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java集合框架由什么组成的

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java集合框架由什么组成的

这篇文章主要为大家展示了“Java集合框架由什么组成的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java集合框架由什么组成的”这篇文章吧。第一部分 集合框架介绍Java平台提供了一个全新的
2023-06-03

Java集合框架是什么

这篇文章主要介绍了Java集合框架是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、简介1、集合框架介绍Java集合框架提供了一套性能优良,使用方便的接口和类,他们位于
2023-06-29

Java集合框架和数组的排序是什么

这篇文章将为大家详细讲解有关Java集合框架和数组的排序是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。根据约定,在使用java编程的时候应尽可能的使用现有的类库,当然你也可以自己编写一
2023-06-17

Java集合框架有什么用

这篇文章主要介绍Java集合框架有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Java集合框架集合概念:对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能。集合和数组的区别:数组长度固定,集合长
2023-06-20

Java集合的总体框架有什么用

这篇文章将为大家详细讲解有关Java集合的总体框架有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、集合概述数组其实就是一个集合。集合实际上就是一个容器。可以来容纳其它的数据。二、集合在开发中的应
2023-06-15

java中的集合框架有什么作用

本篇内容介绍了“java中的集合框架有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!集合框架是为表示和操作集合而规定的一种统一的标准
2023-06-17

Java集合框架的数据结构是什么

这篇文章主要介绍“Java集合框架的数据结构是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java集合框架的数据结构是什么”文章能帮助大家解决问题。1、什么是集合框架?在java中,有一套现成
2023-06-29

MySQL架构由什么组成

这篇文章主要介绍“MySQL架构由什么组成”,在日常操作中,相信很多人在MySQL架构由什么组成问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL架构由什么组成”的疑惑有所帮助!接下来,请跟着小编一起来
2023-06-27

java是由什么组成的?

java是由四方面组成的,分别为:Java编程语言、Java文件格式、Java虚拟机(JVM)、Java应用程序接口(Java API)。● Java编程语言,即语法。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多
java是由什么组成的?
2020-01-16

Java对象由什么组成

本篇内容主要讲解“Java对象由什么组成”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java对象由什么组成”吧!Java对象保存在内存中时,由以下三部分组成:1,对象头2,实例数据3,对齐填充
2023-06-29

Java 类究竟由哪些部分组成?(java类由什么和什么组成)

在Java编程中,类是面向对象编程的基本单元,它是对现实世界中事物的抽象表示。那么,Java类究竟由什么和什么组成呢?一、数据成员(成员变量)数据成员是类中用于存储数据的变量,它们定义了类的状态。数据成员可以是各种基本数据
Java 类究竟由哪些部分组成?(java类由什么和什么组成)
Java2024-12-18

Python爬虫架构由什么组成

本篇内容介绍了“Python爬虫架构由什么组成”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  什么是Python爬虫呢?  爬虫又叫做网络
2023-06-02

Flex Server集成的X2O框架是什么

这篇文章主要介绍Flex Server集成的X2O框架是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!针对Flex Server集成的X2O框架随着RIA技术的不断成熟,对RIAs与服务器端技术集成的需求越来越迫
2023-06-17

java源文件由什么组成

java源文件由包声明、导入语句、类或接口定义、其他辅助类或接口定义和其他辅助方法或变量声明组成。1、包声明,,用于指定源文件所在的包;2、导入语句,用于导入其他包中的类和接口;3、类或接口定义,是源文件的主要内容,它定义了一个类或接口的结
2023-08-08

java的内存结构由什么组成

java的内存结构由什么组成?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数的数据
2023-06-14

layui框架的组成部分是什么

Layui框架的组成部分主要包括:核心文件:包括layui.js和layui.css,分别用于引入Layui的JavaScript和CSS样式文件。模块:Layui框架提供了一系列的模块,如lay-form、lay-table、lay-ca
2023-10-22

java核心集合框架JCF怎么使用

Java核心集合框架(Java Collections Framework,简称JCF)是Java提供的一组用于处理集合数据的类和接口。它提供了一种统一的方式来管理和操作不同类型的集合,包括列表(List)、集合(Set)、映射(Map)等
2023-10-24

Java集合框架的知识点有哪些

本篇内容介绍了“Java集合框架的知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!集合框架(collections framewo
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录