Java---集合

链表的定义与使用 链表实现简介 链表的本质是一个动态的对象数组,它可以实现若干个对象的存储。 链表的基本定义: 在实际的开发之中对象数组是一项非常实用的技术,并且利用其可以描述出“多”方的概念,例如:一个人有多本书,则在人的类里面一定要提供有一个对象数组保存书的信息,但是传统的对象数组依赖于数组的概念,所以数组里面最大的缺点在于:长度是固定的,正是因为如此所以在实际的开发之中,传统的数组应用是非常有限的(数组的接收... 阅读详情

概述

Java.util包中提供了一些集合类,这些集合又被称为容器。提到容器又会想到数组,那集合与数组之间的区别是?

集合与数组的区别:数组的长度是固定的,集合的长度是可变的;数组既可以存储基本数据类型,也可以存储引用数据类型,而集合只能存储引用数据类型;数组只能存储同一类的元素,而集合可以存储多种类型的元素。

 

可变长度数组的原理:

当元素超出数组长度,会产生一个新数组,将原数组的数据复制到新数组中,再将新的元素添加到新数组中。

ArrayList:是按照原数组的50%延长。构造一个初始容量为 10 的空列表。

Vector:是按照原数组的100%延长。

 

常用的集合有List集合,Set集合以及Map集合。其中List集合和Set集合继承了Collection接口,各接口还提供了不同的实现类。

 

Collection接口

Collection接口是层次结构中的根接口(单列集合的根接口)。构成Collection的单位称为元素,Collection接口通常不能直接使用,但该接口提供了添加元素,删除元素,管理数据的方法。由于List接口和Set接口都是继承了Collection接口,所以这些方法对List集合和Set集合都通用。

 

Collection接口的常用方法

方法

功能描述

add(E e)

将指定的对象添加到该集合中

remove(Object o)

将指定的对象从该集合中移除

isEmpty()

返回boolean值,判断当前集合是否为空

iterator()

返回在此Collection的元素上进行迭代的迭代器,用于遍历集合中的对象

size()

返回int值,获取集合中元素的个数,即集合长度

 

List集合与Set集合的区别是:List集合有序(元素存入集合的顺序与取出的顺序一致),有索引,可以存储重复元素;Set集合无序(元素存入与取出的顺序可能不一致),无索引,不可以存储重复元素,必须保证元素的唯一性。

 

在集合中,使用迭代器iterator来遍历集合,获取集合当中的元素。

例如:

 

 

List集合

List集合包括List接口以及List接口所有的实现类。List集合中的元素允许重复,各元素的顺序就是对象插入时的顺序,用户可以通过使用索引(元素在集合中的位置)来访问集合中的元素。

 

List接口

List接口继承了Collection接口,因此包含了Collection接口中的所有方法,除此之外还有新定义方法:

方法

功能描述

get(int index)

获取指定索引位置的元素

set(int index,Object o)

将集合中指定索引位置的对象修改为指定对象

addAll(index,collection)

在指定的索引位插入一堆元素

int indexOf(obj)

获取指定元素第一次出现的索引位,如果该元素不存在返回-1

int lastIndexOf(Object o)

反向索引指定元素的位置

List subList(start,end)

list集合特有的迭代器

 

注意:对于List集合,底层判断元素是否相同,其实都是使用元素自身的equals方法完成的,所以建议元素都重新复写equals方法,已建立元素对象自己比较相同的条件依据。

List接口的实现类

List接口的实现类包括ArrayList , LinkedList ,Vector。

 

ArrayList

ArrayList类实现了可变的数组,允许保存所有元素,包括null,并可以根据索引位置对集合中的元素进行快速随机访问,但由于其是指定位置来插入或删除对象,所以ArrayList增删速度慢。

ArrayList的底层数据结构是数组,线程不同步,由于底层是数组结构,而数组结构的元素在堆内存中是连续分配的,且有索引,所以查询快,增删慢。

 

 

LinkedList

LinkedList类采用链表结构保存对象。这种结构的优点是便于向集合中插入和删除对象,但查询速度慢,线程不同步。

ListedList底层是相互引用的节点组成的双向链表,当要把数据插入到该链表的某个位置时,该数据就会被组装成一个新的节点,然后只需要改变链表中要插入位置的前后的节点引用,是他们指向新的节点,即可完成插入。删除操作同样原由,只需改变节点引用即可完成。

LinkedList集合的特有方法

 

方法

功能描述

addFirst

将元素添加到链表的开头位置

addLast

将元素添加到链表的结尾位置

offerFirst(jdk1.6以后)

将元素添加到链表的开头位置

offerLast(jdk1.6以后)

将元素添加到链表的结尾位置

getFirst

获取链表中第一个元素,如果链表为空,则抛出NoSuchElementException

getList

获取链表中最后一个元素,如果链表为空,则抛出NoSuchElementException

peekFirst(jdk1.6以后)

获取链表中第一个元素,如果链表为空,则返回null

peekLast(jdk1.6以后)

获取链表中最后一个元素,如果链表为空,则返回null

removeFirst

获取链表中第一个元素,但会删除链表第一个元素,如果链表为空,则抛出NoSuchElementException

removeLast

获取链表中最后一个元素,但会删除链表最后一个元素,如果链表为空,则抛出NoSuchElementException

pollFirst(jdk1.6以后)

获取链表中第一个元素,但会删除链表第一个元素,如果链表为空,则返回null

pollLast(jdk1.6以后)

获取链表中最后一个元素,但会删除链表最后一个元素,如果链表为空,则返回null

 

 

Vector

Vector底层同样是数组结构,但是由于其线程同步,执行效率低,已经被ArrayList取代。

 

 

Set集合

Set集合中的对象不按特定的方式排序,只是简单的把对象加入到集合中,但是Set集合中不能包含重复对象。Set集合由Set接口和Set接口的实现类组成,Set接口继承了Collection接口,所以包含其所有方法。

 

Set接口

Set接口的实现类有HashSet,LinkedHashSet,TreeSet。

 

HashSet

HashSet底层是哈希表结构,线程不安全,存储取出效率高,运行速度快,但是存入与取出的顺序不一致。

HashSet集合保证元素的唯一性原理:通过元素的hashCode方法,和equals方法完成的。

当元素的hashCode值相同时,才继续判断元素的equals是否为true。如果为true,那么视为相同元素,不存。如果为false,那么存储。如果hashCode值不同,那么不判断equals,从而提高对象比较的速度。

 

哈希表的原理:

1,对对象元素中的关键字(对象中的特有数据),进行哈希算法的运算,并得出一个具体的算法值,这个值 称为哈希值。

2,哈希值就是这个元素的位置。

3,如果哈希值出现冲突,再次判断这个关键字对应的对象是否相同。如果对象相同,就不存储,因为元素重复。如果对象不同,就存储,在原来对象的哈希值基础 +1顺延。

4,存储哈希值的结构,我们称为哈希表。

5,既然哈希表是根据哈希值存储的,为了提高效率,最好保证对象的关键字是唯一的。

这样可以尽量少的判断关键字对应的对象是否相同,提高了哈希表的操作效率。

 

LinkedHashSet

  LinkedHashSet继承了HashSet,是具有可预知顺序的集合,它基于哈希表与链表实现的,线程不安全,运行速度快,保证了元素的存入与取出的顺序。

 

  TreeSet

  TreeSet类不仅实现类Set接口,还实现了java.util.SortedSet接口,因此TreeSet类实现Set集合在遍历时按照自然顺序或定制顺序排序。

用于对Set集合进行元素的指定顺序排序,需要依据元素自身具备的比较性。如果元素自身不具备比较性,那么在运行时则会发生异常。所以需要实现comparable接口,复写compareTo()方法,强制让元素具备比较性。依据compareTo的返回值,确定元素在TreeSet中的位置。

TreeSet方法保证元素唯一性的方式:就是参考比较方法的结果是否为0,如果return 0,视为两个对象重复,不存。

TreeSet集合排序有两种方式,Comparable和Comparator区别:

1:让元素自身具备比较性,需要元素对象实现Comparable接口,覆盖compareTo方法。

2:让集合自身具备比较性,需要定义一个实现了Comparator接口的比较器,并覆盖compare方法,并将该类对象作为实际参数传递给TreeSet集合的构造函数。

第二种方式较为灵活。

 

 

 

Map集合

Map集合没有继承Collection接口,其提供的是Key到Value的映射,Map中不能包含相同的key,每个key只能映射到一个value。Key还决定了存储对象在映射中的存储位置,但不是有key本身对象决定,而是由一种“散列技术”进行处理的,产生一个散列码的整数值。散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置。Map集合包括Map接口以及Map接口的所有实现类。

 

Map集合存储和Collection有着很大不同:

Collection一次存一个元素;Map一次存一对元素。

Collection是单列集合;Map是双列集合。

Map中的存储的一对元素:一个是键,一个是值,键与值之间有对应(映射)关系。

特点:要保证map集合中键的唯一性。

 

 

Map接口

Map接口提供了将key映射到值的对象,一个映射不能包括重复的key,一个Key最多映射到一个值。

Map集合中允许值对象是null,而且没有限制,如:map.put(“05”,null)

Map接口中的方法

方法

功能描述

put(key, V value)

向集合中添加指定的key与value的映射关系

containsKey(Object key)

如果此映射包含指定的key的映射关系,则返回true

containsValue(Object value)

如果此映射将一个或多个key映射到指定值,则返回true

get(Object key)

如果存在指定的key对象,则返回该对象对应的值,否则返回null

KeySet()

返回该集合中所有key对象,形成set集合

values()

返回该集合中所有值对象形成Collection集合

 

Map接口的实现类

Map接口的实现类有:Hashtable,HashMap,TreeMap,LinkedHashMap

 

HashMap

HashMap类是基于哈希表数据结构的Map接口实现,此实现提供所有可选的映射操作,并允许使用null值和null键,但必须保证键的唯一性。HashMap通过哈希表对其内部的映射关系进行快速查找。此类不保证映射的顺序,特别是他不保证该顺序恒久不变,线程不同步。

 

Hashtable

Hashtable底层是哈希表数据结构,是线程同步的。不可以存储null键,null值。且在jdk1.2以后,Hashtable被HashMap取代,但其子类properties仍被使用。

 

TreeMap

TreeMap不仅实现了Map接口,还实现了java.util.SortedMap接口,因此,集合中的映射关系具有一定的顺序。但在添加,删除和定位映射关系时,TreeMap类比HashMap类性能稍差。由于TreeMap类实现的Map集合中的映射关系是根据键对象按照一定的顺序排列的,所以不允许键对象为null。

可以通过HashMap类创建Map集合,当需要顺序输出时,在创建一个相同映射关系的TreeMap类实例,进行输出。

 

LinkedHashMap

在继承HashMap的同时,保证了迭代的顺序。

 

使用集合的技巧:

看到Array就是数组结构,有角标,查询速度很快。

看到link就是链表结构:增删速度快,而且有特有方法。addFirst; addLast; removeFirst(); removeLast(); getFirst();getLast();

看到hash就是哈希表,就要想要哈希值,就要想到唯一性,就要想到存入到该结构的中的元素必须覆盖hashCode,equals方法。

看到tree就是二叉树,就要想到排序,就想要用到比较。

比较的两种方式:

一个是Comparable:覆盖compareTo方法;

一个是Comparator:覆盖compare方法。

LinkedHashSet,LinkedHashMap:这两个集合可以保证哈希表有存入顺序和取出顺序一致,保证哈希表有序。

 

集合什么时候用?

当存储的是一个元素时,就用Collection。当存储对象之间存在着映射关系时,就使用Map集合。

 

保证唯一,就用Set。不保证唯一,就用List。

 

 

集合操作工具类:Collections

 

静态方法:

Collections.sort(list);//list集合进行元素的自然顺序排序。

Collections.sort(list,new ComparatorByLen());//按指定的比较器方法排序。

class ComparatorByLen implements Comparator<String>{

public int compare(String s1,String s2){

int temp = s1.length()-s2.length();

return temp==0?s1.compareTo(s2):temp;

}

}

Collections.max(list); //返回list中字典顺序最大的元素。

int index = Collections.binarySearch(list,"zz");//二分查找,返回角标。

Collections.reverseOrder();//逆向反转排序。

Collections.shuffle(list);//随机对list中的元素进行位置的置换。

 

将非同步集合转成同步集合的方法:Collections中的  XXX synchronizedXXX(XXX);

List synchronizedList(list);

Map synchronizedMap(map);

原理:定义一个类,将集合所有的方法加同一把锁后返回。

 

Collection 和 Collections的区别:

Collections是个java.util下的类,是针对集合类的一个工具类,提供一系列静态方法,实现对集合的查找、排序、替换、线程安全化(将非同步的集合转换成同步的)等操作。

Collection是个java.util下的接口,它是各种集合结构的父接口,继承于它的接口主要有Set和List,提供了关于集合的一些操作,如插入、删除、判断一个元素是否其成员、遍历等。

【Java 集合】 集合概述Java 集合概览Java 集合,也叫作容器,主要是由两大接口派生而来:一个是Collection接口,主要用于存放单一元素;另一个是Map接口,主要用于存放键值对。对于CollectionListSetQueue。Java 集合框架如下图所示:Java 集合框架概览注:图中只列举了主要的继承派生关系,并没有列举所有关系。比方省略了等抽象类以及其他的一些辅助类,如想深入了解,可自行查看源码。说说 List, Set, Queue, Map 四者的区别?List。 阅读详情

相关推荐

【Java集合 1】java集合有哪些

一、数组Array和集合的区别 1、数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型) 2、JAVA集合可以存储和操作数目不固定的一组数据。 3、若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。  注:使用相应的toArray()和Arrays.asList()方法可以相互转换。 二、Java集合 集合类存放于Java.util包中。 集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是

学Java,找哪吒 2万+

C++类和对象的应用实例——链表

实例: 以单向链表为例。建一个链表项作为一个类,名为Item,包含了数据项data和指针*next,指针用来指向下一个链表项。为了简便,它只有一个数据项用来存放数据。 再建立一个操作类,名为List,包含如下操作: (1)显示输出一个已生成的链表; (2)对一个空表插入链表项,插入的新表项放在表头; (3)对一个空表追加链表项,追加的新表项放在表尾; (4)两个链表的连接,

z2014jw的博客 6449

API安全攻防实战:从信息搜集到漏洞利用的完整路径

本文详细解析了API安全攻防实战的全过程,从信息搜集到漏洞利用,涵盖了渗透测试的核心技巧和工具使用。通过真实案例展示如何发现和利用API漏洞,如HTTP方法滥用、内容类型转换攻击等,并提供企业级防御策略和测试心得,帮助安全研究人员提升API安全防护能力。

weixin_30394981的博客 434

java学习中

工具推荐 https://www.processon.com/diagrams 在线画图软件 finalShell 远程链接软件 final关键字作用 final修饰的变量,一旦赋值,不可重新赋值; final修饰的方法无法被覆盖; final修饰的实例变量,必须手动赋值,不能采用系统默认值; final修饰的实例变量,一般和static联用,用来声明常量; ==和equals的区别 equals和==最大的区别是一个是方法一个是运算符。 ● ==:如果比较的对象是基本数据类型,则比较的是数值是否相等;如果

m0_37554738的博客 427

Python实战:用MNE-Python从脑电数据中提取P300成分(附完整代码)

本文提供了一份使用MNE-Python从脑电数据中提取P300成分的完整实战指南。通过详细的代码示例,系统讲解了从环境搭建、数据加载、预处理(滤波、分段、伪迹剔除)到P300波形提取、可视化与参数量化的全流程。重点介绍了如何利用零相位滤波和叠加平均技术,从EEG信号中精准分离出反映认知加工的P300事件相关电位,适用于脑机接口与认知神经科学研究。

weixin_29240343的博客 338

2023西工大NOJ (C语言版) 完结!!!

代码均可AC,不含解析。

annesede的博客 8万+

【Java】链表中存储对象的问题

更新:   在一次搜索“变量声明在循环体内还是循环体外”问题时,碰见了一个这样的代码,与本文类似,代码如下: Document [] old ......//这是数据源 EntityDocument[] newArray = new EntityDocument[old.length];//自定义的类,为了把Document里数据保留下来避免Document被关联对象关闭而导致无法取出数...

weixin_30414155的博客 324

Claude Code × SolidWorks:批量填属性、格式转换、BOM 汇总自动化实战

摘要:本文介绍利用 Claude Code 生成 VBA 宏实现 SolidWorks 批量处理任务的自动化方案。包含5个实战案例:批量填写自定义属性(60分钟任务→10秒)、批量格式转换(80分钟→30秒)、多配置工程图自动生成(120分钟→2分钟)、滚珠丝杠选型计算(15分钟→10秒)和装配体递归BOM导出(40分钟→1分钟)。所有代码基于SolidWorks 2020+ API,提供完整VBA实现和操作指南,可显著提升设计效率。

m0_64424835的博客 613

Java集合 之 单列集合

java的单列集合,看这一篇就够了

qq_73698057的博客 3099

深入解析ZYNQ PL触发PS中断:从原理到创新实践

通过本文,您不仅学会了ZYNQ PL-PS中断的基础实现,更掌握了动态优先级调整中断负载均衡等创新技术。响应延迟降低40%以上系统吞吐量提升2-3倍功耗降低30%支持更复杂的实时应用硬件是身体的骨骼,软件是流动的血液,而中断则是连接二者的神经系统。只有精确控制每一条神经冲动,才能构建真正智能的嵌入式系统。拓展思考如何将AI决策引入中断调度?能否实现跨芯片中断同步?量子计算对中断架构的挑战?

QQ_778132974的博客 417

实验三、数字PID控制器的设计

由图可知,由于微分环节的作用,在曲线的起始上升段出现了一个尖锐的波峰,之后曲线也呈衰减的振荡:随着Td增加,系统的超调量增大,但曲线尖锐的起始上升阶段后响应速度减慢,可以看出Td越小。对大多数算法,缩短采样周期可使控制回路性能改善,但采样周期缩短时,频繁的采样必然会占用较多的计算工作时间,同时也会增加计算机的计算负担,而对有些变化缓慢的受控对象无需很高的采样频率即可满意地进行跟踪,过多的采样反而没有多少实际意义。随着Kp的增加,闭环系统的超调量增加,响应速度加快,控制时间加长,稳态误差减少;

m0_51738372的博客 8023

Java【集合】

Java的特殊数据容器——集合

在下的博客 1878

S32K324 Stack异常分析及解决方案

在项目开发过程中,在一次软件变更时,调整了task优先级之后导致应用层软件中的float数据经常性的变为NAN,导致应用层功能失效。本文记录下这个bug的分析及解决过程。该问题排查了好几天,最开始正向排查不出来,差点放弃了,ETAS OS也没有人支持,只能换一种思路,通过反向推,最终定位到问题,能完美解决,还是很欣慰的。遇到问题不可怕,Bug一直都会有,主要是在解决问题中的思路和方法,不断总结积累,总会越来越好的!

赞的博客 598

Java——集合

List 集合的特点:List 是有序集合,它维护元素的插入顺序。可以通过索引访问元素,索引从 0 开始,依次递增。与 Set 不同,List 允许存储重复的元素。方法名描述在此集合中的指定位置插入指定的元素删除指定索引处的元素,返回被删除的元素修改指定索引处的元素,返回被修改的元素返回指定索引处的元素indexOf 方法返回指定元素第一次出现在列表中的索引,如果列表不包含该元素,则返回 -1。

weixin_73551991的博客 1930

秃鹰搜索优化算法(BES)详解:从自然捕食到全局优化

秃鹰搜索优化算法(Bald Eagle Search Optimization Algorithm,BES)是由马来西亚学者Alsattar等人于2020年提出的一种新型元启发式优化算法。该算法灵感来源于秃鹰在自然界中高超的捕食行为,特别是其独特的狩猎策略和卓越的视觉搜索能力,模拟了秃鹰捕食鲑鱼等猎物的完整过程。

qq_42212808的博客 1353

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Java集合总结

Java中的集合(Collections)框架是一个非常重要的部分,它提供了一套设计良好的支持对一组对象进行操作的接口和类。这些接口和类位于java.util包中,使得我们可以以统一和灵活的方式处理对象集合。

2301_81579342的博客 1265

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

java集合

一、集合的由来   通常,我们的程序需要根据程序运行时才知道创建多少个对象。但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型。为了满足这些常规的编程需要,我们要求能在任何时候,任何地点创建任意数量的对象,而这些对象用什么来容纳呢?我们首先想到了数组,但是数组只能放统一类型的数据,而且其长度是固定的,那怎么办呢?集合便应运而生了! 为了对集合有个...

uyhbrr的博客 9058

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Java 集合

是工作中运用最多、最频繁的类,相比于数组(Array)来说,集合类的长度可变,更加方便开发。Java集合就像一个容器,可以存储任何类型的数据,也可以结合泛型来存储具体的类型对象。在程序运行时,Java集合可以动态地进行扩展,随着元素的增加而扩大。在Java中,集合类通常存在于java.util包中。Java集合主要由2大体系构成,分别是体系和体系,其中Collection和Map分别是2大体系中的顶层接口。Collection主要有三个子接口,分别为。

分享编程知识与技巧 致力于技术交流与学习 找我合作私聊 有偿解决计算机问题 1068

【Java集合一】集合概述

介绍了Java集合框架,包括其概述、主要数据结构(如List、Set、Queue、Map)以及相关实现类(如ArrayList、LinkedList、HashSet、HashMap等)。内容涵盖了集合框架的原理、特点、使用方法以及常见操作。

叉烧钵钵鸡的博客 1214

java中集合怎么定义_Java集合系列(一):集合的定义及分类

1. 集合的定义什么是集合呢?定义:集合是一个存放对象的引用的容器。在Java中,集合位于java.util包下。2. 集合和数组的区别(面试常问)提到容器,就会想起数组,那么集合和数组的区别是什么呢?(这里是重点,面试可能问的比较多)数组和集合都是Java中的容器数组的长度是固定的,集合的长度是可变的数组只能存储相同数据类型的数据,这里的数据类型可以是基本数据类型,也可以是引用类型集合可以存储不...

weixin_34952710的博客 4627

Java集合

本文摘要: JUnit测试框架和Java集合是Java编程中的重要知识点。JUnit用于单元测试,可通过注解实现测试方法运行,但需注意与Scanner的兼容性问题。集合优化了数组的缺点,包括可变长度和泛型支持。集合分为Map、Collection(List和Set)和Collections工具类。List集合有ArrayList(数组实现,查询快增删慢)和LinkedList(链表实现,查询慢增删快)两种实现方式,并提供了多种遍历方法包括标准for、增强for、Lambda表达式和迭代器。

weixin_74894450的博客 1276

java集合中存放集合_集合与Java中的集合

java集合中存放集合 收集框架 Collection是Java Collection Framework的顶级接口。 List,Queue和Set是此框架的主要子接口。 集合接口是java.util.package的成员。 Collection接口中有几种方法可用于添加/删除元素,获取数组的大小,进行迭代或检查数组是否为空。 图片来源: javatpoint / collect...

专业的开发者“讨论” 2745

Java 集合详解

发现一个特点,上述所有的集合类,除了 map 系列的集合,即左边集合都实现了 Iterator 接口,这是一个用于遍历集合中元素的接口,主要hashNext(),next(),remove()三种方法。我们知道在一般的数组中,元素在数组中的索引位置是随机的,元素的取值和元素的位置之间不存在确定的关系,因此,在数组中查找特定的值时,需要把查找值和一系列的元素进行比较,此时的查询效率依赖于查找过程中比较的次数。但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型。

2401_86940371的博客 1448

Java 集合——从 C++ 到 Java

Java 集合框架,其基本概念、接口和具体集合类,从 C++ 对比的角度进行讲解。

有耐心做好简单事情,坚持写blog 1189
上一篇: Java常见的异常信息
下一篇: 2021-01-05
jmf_java
博客等级 码龄9年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值