首页 > 编程语言 >Java集合框架

Java集合框架

时间:2023-08-01 13:56:50浏览次数:28  
标签:返回 Java 迭代 框架 元素 接口 列表 集合

Java集合框架

集合框架

 用于存储数据的容器,集合框架是为表示和操作集合而规定的一种统一的标准的体系结构
 任何集合框架都包含三大块内容:
    对外的接口、接口的实现和对集合运算的算法

接口

 表示集合的抽象数据类型。接口允许我们操作集合时不必关注具体实现,从而达到“多态”。在面向对象编程语言中,接口通常用来形成规范。

实现

 集合接口的具体实现,是重用性很高的数据结构。

算法

 在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,例如查找、排序等。这些算法通常是多态的,因为相同的方法可以在同一个接口被多个类实现时有不同的表现。事实上,算法是可复用的函数。

Iterator接口

 boolean	hasNext() 
    如果仍有元素可以迭代,则返回true。
 E	        next() 
    返回迭代的下一个元素。
 void	    remove() 
    从迭代器指向的 collection 中移除迭代器返回的最后一个元素。

ListIterator接口 继承于 Iterator接口

 void	    add(E e) 
    将指定的元素插入到列表 (可选操作)。
 boolean	hasNext() 
    如果此列表迭代器在前进方向还有更多的元素时,返回 true。
 boolean	    hasPrevious() 
    如果此列表迭代器在相反方向还有更多的元素时,返回 true。
 E	        next() 
    返回列表中的下一个元素和光标的位置向后推进。
 int	        nextIndex() 
    返回调用 next()后返回的元素索引。
 E	        previous() 
    返回列表中的上一个元素和光标的位置向前移动。
 int     	previousIndex() 
    返回调用previous() 后返回的元素索引 。
 void	    remove() 
    删除列表中调用next()或previous()的返回最后一个元素。
 void	    set(E e) 
    用指定元素替换列表中调用next()或previous()的返回最后一个元素。

Collection接口 继承于 Iterator接口

 Collection一次存一个元素,是单列集合,下方两个继承于Collection的接口

 List接口:
    有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复
    接口实现类:ArrayList数组, LinkedList双向链表, Vector数组

 Set接口: 
    无序(存入和取出顺序有可能不一致),不可以存储重复元素。必须保证元素唯一性
    接口实现类:HashSet(哈希), TreeSet(红黑树),LinkedHashSet(链表哈希)
    
 Queue接口:
    队列
    接口实现类:ArrayDeque

Map接口

 常用实现类:
    HashMap(哈希)、TreeMap(红黑)、HashTable(哈希)、LinkedHashMap、ConcurrentHashMap

标签:返回,Java,迭代,框架,元素,接口,列表,集合
From: https://www.cnblogs.com/dmbj/p/17596234.html

相关文章

  • java两个list对象取差集
    在Java开发中,我们经常会遇到需要对两个List对象进行比较并取得它们的差集的情况。差集是指在第一个List中出现而在第二个List中没有出现的元素集合。本文将介绍如何使用Java来实现这个功能,并提供代码示例。方法一:使用循环嵌套遍历比较一种常见的方法是通过嵌套循环遍历比较两个Li......
  • 大数据管理框架CDP集群搭建
    1搭建准备HostNameIP内存CPU磁盘cdp01172.29.0.11016G4核100Gcdp02172.29.0.11116G4核100Gcdp03172.29.0.11216G4核100G组件版本ClouderaManager7.1.4CDH7.1.7OpenJDK1.8.0_372CentOS7.6MySQL8.0.342基础......
  • IDEA2023.1开发版 使用Maven3.9搭建MyBatis框架
    一,下载Maven配置地址:Maven–DownloadApacheMaven选择适合的Maven版本。选择二进制文件zip进行下载 这里选择apache-maven-3.9.3-bin-zip进行下载,下载解压配置Maven本地环境 ......
  • 剥下“java.lang.OutOfMemoryError: unable to create new native thread”的外衣
     星期一早上到了公司,据称产品环境抛出了最可爱的异常—OutOfMemory, 它是这样来描述他自己的:java.lang.OutOfMemoryError:unabletocreatenewnativethread而且这位仁兄竟然还堂而皇之地同时出现在了3个application里面,所有应用全部遭殃。那可爱的OOM是如何产生的呢?直接原因......
  • 智慧校园源码:vue2+Java+springboot+MySQL+elmentui+jpa+jwt
    智慧校园综合管理云平台源码系统主要以校园安全、智慧校园综合管理云平台为核心,以智慧班牌为学生智慧之窗,以移动管理平台、家校沟通为辅。教师—家长一学校—学生循环的无纸化管理模式及教学服务,实现多领域的信息互联互通以及校园管理一体化、信息数据化、数据自动化。智慧班牌融合......
  • java安装失败错误代码
    java安装错误安装路径不是默认的安装路径,并且安装路径有中文。电脑是32位系统,但是安装的jdk64位的。安装过程中内存不足,程序本身有缺陷。 点击Windows键+R打开运行程序。在运行框中键入控制面板。在出现的窗口中找到Java并将其打开。在Java控制面板中打开安全选项卡。删除浏......
  • Java常用类
    Java常用类Object类getClass() 获取类notify()和wait() 唤起进程和阻塞进程equals()判定两个对象是否相等,注意子类需要重写判定方法,因为原方法比较的是引用,肯定不相等Math类常见方法abs绝对值pow求幂ceil向上取整floor向下取整......
  • java-多线程并发,CompletableFuture
    //无返回值@OverridepublicvoidexecCreateYmDetDataSubTask(YmDetCreateWorkerDtoymDetCreateWorkerDto){List<Long>sendIdList=ymDetCreateWorkerDto.getSendIdList();List<List<Long>>subLists=Lists.partition(sendIdList,1......
  • java时间天数差
    时间天数差privateintdiffInDays(Datestar,DateendDay){DatenextDay=star;intdiffInDays=1;while(nextDay.before(endDay)){//当明天不在结束时间之前是终止循环Calendarcld=Calendar.getInstance();cld.setTime(star);cld......
  • java怎么写接口,java开发api接口教程
    在大家的工作中,经常写界面。而且,最常用的是http接口。但是,对于初学者Java工作人员来说,写http界面还很难。那么,用实例来说明吧。一、建设项目首先,生成SpringBoot项目。省略如何构建此处,并引入相关依赖关系:org.springframework.bootartifactIdspring-boot-starter/从属从属关系or......