首页 > 编程语言 >JavaAPI高级编程.集合框架

JavaAPI高级编程.集合框架

时间:2024-12-01 14:57:19浏览次数:7  
标签:编程 框架 元素 接口 Set Collection JavaAPI 集合

集合框架

1.集合框架的概念

(1)集合框架实际上就是一个动态数组,与一般的对象数组不同,集合对象的内容可以任意扩充。

(2)集合框架中的特征

A.这种框架是高性能的

B.框架必需允许不同的类型的类集以相同的方式和高度互操作方式工作

C.类集必须是任意扩展和修改的

集合框架常用接口(表格)

(3)集合框架常用的接口概述:

java集合框架的好处:

1.接口

一、List接口

定义与特点

ArrayList

LinkedList

二、Set接口

定义与特点

常用实现类

HashSet

TreeSet

三、Iterator接口

定义与作用

主要方法

hasNext()

next()

remove()


1.集合框架的概念

(1)集合框架实际上就是一个动态数组,与一般的对象数组不同,集合对象的内容可以任意扩充。

Java集合框架是Java核心库中的一个重要部分,它为开发人员提供了一种快捷、高效、灵活的方式来处理和操作集合对象。

(2)集合框架中的特征

A.这种框架是高性能的
B.框架必需允许不同的类型的类集以相同的方式和高度互操作方式工作
C.类集必须是任意扩展和修改的

集合框架常用接口(表格)

接口描述
Collection 是存放一组单值的最大接口。单值是指集合中的每一个元素都是一个对象,一般    很少会直接使用此接口直接操作。
ListList是Collection 接口的子接口,也是最常用的接口,此接口对Collection接口进行了大量的扩充,里面的内容是允许重复的。
SetSet 是Collection 接口的子接口,此接口没有对Collection接口进行扩充,里面的内容不允许重复
Map Map 是存放一对值的最大接口。即:接口中的每个元素都是一对,以Key?value的形式保存
lteratorIterator   : 集合的输出接口,用于输出集合中的内容,只能进行从前到后的单向输出    90

(3)集合框架常用的接口概述:

1.Collection接口存储一组不唯一,无序的对象。

2.List 接口存储一组不唯一,有序(插入无序)的对象

3.Set 接口存储一组唯一,无序的对象

java集合框架的好处:

  • 提供了丰富的数据结构,适用于不同的场景和需求。
  • 提供了一致的接口和操作方式,简化了开发和维护的工作。
  • 提供了高效的算法和数据结构实现,可以提升程序的性能。
  • 可扩展性强,可以根据需要自定义集合类和接口。

1.接口

一、List接口


定义与特点


List是Java集合框架中的接口,它表示一个有序的集合。在List中,元素可以重复,并且每个元素都有一个对应的索引。



ArrayList


基于数组实现的动态数组。当创建ArrayList时,实际上是创建了一个初始容量的数组(默认初始容量为10)。
它的优点是随机访问速度快,因为它可以直接通过索引访问元素,但是,当向其中插入或删除元素时(特别是在数组中间操作时),可能需要移动大量元素,插入和删除操作的时间复杂


LinkedList


基于链表实现。每个节点包含一个数据元素和指向下一个节点(以及在双向链表中,指向前一个节点)的引用。
它的优点是插入和删除操作比较高效,特别是在链表的开头或结尾进行操作时,随机访问速度慢,因为需要从链表头开始遍历


二、Set接口


定义与特点


Set是一个不包含重复元素的集合。它基于对象的equals()方法来判断元素是否重复。



常用实现类

HashSet


基于哈希表实现。它通过计算元素的哈希码来确定元素在集合中的存储位置。


TreeSet


基于红黑树实现的有序Set。它会根据元素的自然顺序(如果元素实现了Comparable接口)或者根据提供的比较器(Comparator)来对元素进行排序。


三、Iterator接口


定义与作用


Iterator是一个迭代器接口,用于遍历集合中的元素。它提供了一种统一的方式来访问集合中的元素,而不需要了解集合的内部结构。
比如说,无论是List、Set还是其他实现了Iterable接口(可以获取Iterator的接口)的集合,都可以使用Iterator来遍历元素。


主要方法


hasNext()


这个方法用于判断集合中是否还有下一个元素。如果有,则返回true;如果已经遍历到集合的末尾,则返回false。


next()


用于返回集合中的下一个元素。在调用next()方法之前,应该先调用hasNext()方法来确保还有下一个元素,否则可能会抛出NoSuchElementException异常。


remove()


这个方法用于从集合中移除由next()方法返回的最后一个元素。注意,不是所有的集合都支持在迭代过程中删除元素,在不支持的情况下调用这个方法会抛出UnsupportedOperationException异常。

标签:编程,框架,元素,接口,Set,Collection,JavaAPI,集合
From: https://blog.csdn.net/yyayyl_xzq/article/details/144168167

相关文章

  • Shell编程 - 判断篇
    1.字符串比较符运算符描述示例==等于["a"=="a"]为true!=不等于["a"!="a"]为false>大于,判断字符串时根据ASCII码表顺序,不常用在[]表达式中:[2>1]为true在[[]]表达式中:[[2>1]]为true在(())表达式中:((3>2))为true<小......
  • 学霸带你游戏化 Bash 数组提升编程效率
    数组在Bash脚本中的重要性在现代编程中,数组的灵活性和高效性使其成为处理数据的核心工具之一。尤其是在Bash脚本中,数组能够帮助开发者以简洁的方式管理和操作多个数据项。在游戏开发、系统管理等领域,数组的应用无处不在。从定义和初始化,到元素访问和操作,每一个环节都至关......
  • C++编程:通过简单实现理解CyberRT的DataVisitor和DataDispatcher
    文章目录0.引言1.定义DataVisitor接口2.实现DataDispatcher3.创建具体的DataVisitor4.类关系图5.测试示例6.编译和运行0.引言本文简单实现类似CyberRT的DataVisitor和DataDispatcher,使得数据能够被分发给多个订阅者(访客)。1.定义DataVisitor接......
  • shell编程7,bash解释器的 for循环+while循环
    声明!学习视频来自B站up主泷羽sec有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷......
  • C语言编程1.19男生女生
    题目描述给定一个班每个同学的性别,分别输出男女比例,男生学号和女生学号。输入格式第一行一个整数n,0<n≤500表示班级人数。第二行中有n个0(女生)或者1(男生),表示按学号(从1号开始)顺序的每个同学性别。输出格式第一行输出男生与女生的比例,形式为1:?。如果男女生相等,则输出1:1;如果......
  • C语言编程1.18票数统计
    题目描述《造星花园》青春偶像派电视剧热播后,剧组各位明星来到有“娱乐热土”之称的湖海卫视参加“我选我喜欢”的与观众现场互动娱乐节目。现场的观众对明星们投票选出最受欢迎的明星。投票的方式是:每个观众只能投一票,观众喜欢某个明星或觉得他(她)表现不错,就可以到台上将一支......
  • c语言编程1.17蓝桥杯历届试题-回文数字
    题目描述观察数字:12321,123321都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。本题要求你找到一些5位或6位的十进制数字。满足如下要求:该数字的各个数位之和等于输入的整数。输入格式一个正整数n(10<n<100),表示要求满足的数......
  • 程序员在LabVIEW编程时要注意哪些法律问题
    在使用LabVIEW进行编程时,程序员需要注意一些法律问题,尤其是在知识产权、许可协议、数据保护等方面。以下是程序员在LabVIEW编程过程中可能遇到的主要法律问题和应注意的事项:​1. 软件许可与版权问题LabVIEW作为商业软件,其使用受限于NI(National Instruments)所制定的许可......
  • FPGA(现场可编程门阵列)详解-ChatGPT4o作答
    FPGA(现场可编程门阵列)详解FPGA(Field-ProgrammableGateArray)是一种可编程的集成电路,其核心特性是通过硬件编程实现数字电路功能。它在设计灵活性、性能和并行处理能力方面有显著优势,是现代电子工程领域的重要技术之一。以下是对FPGA的全面详细介绍。1.什么是FPGA?FPGA......
  • 第七章:并发编程 1.Goroutines --Go 语言轻松入门
    Go语言中的Goroutines是一种轻量级的线程,它允许你以非常低的成本并发执行多个函数或方法。Goroutines是Go并发模型的核心组成部分,与channels一起使用可以实现高效的并发编程。什么是Goroutines?1.内存占用小初始堆栈大小:每个Goroutine的初始堆栈大小非常小,通常......