【java】Collection集合框架的总结

Java集合框架之Collection接口 在Java中,Collection接口是Java集合框架(Java Collections Framework)的一部分,它是用于定义一组对象的基本接口。这个接口并不直接实现任何功能,而是由它的子接口(如ListSet和Queue)来提供具体的实现。 阅读详情

近期在巩固关于java集合的知识,因此写下总结一篇。参考书籍为梁勇的《Java语言程序设计与数据结构进阶篇》和林信良《Java JDK9学习笔记》,若描述有误请多多指教。

1.Iterable接口

Collection接口继承自Iterable接口,Iterable中定义了iterator()方法,能够返回一个迭代器。除了iterator(),接口中还实现了两个默认方法:forEach(Consumer<? super T> action)和spliterator()。前者使集合能用增强for循环遍历,后者用于并行遍历集合。以下是用Iterator,forEach,和重写forEach遍历元素的示例,重写forEach用了lambda表达式,此例只是简单的做了打印操作,还可通过在表达式中增加其他处理语句。

public void test(){
        Set<String> set = new HashSet<>();
        set.add("one");
        set.add("two");
        set.add("three");
        // Iterator
        Iterator iterable = set.iterator();
        System.out.print("Iterator: ");
        while (iterable.hasNext()){
            System.out.print(iterable.next()+" ");
        }
        // forEach
        System.out.print('\n'+"forEach: ");
        for(String e: set){
            System.out.print(e+" ");
        }
        // Override forEach
        System.out.print('\n'+"Override forEach: ");
        set.forEach(e->System.out.print(e+" "));
}
//控制台输出:
Iterator: one two three 
forEach: one two three 
Override forEach: one two three 

2.Iterator接口

迭代器(Iterator)是一种经典的设计模式,用于在不需要暴露数据结构实现细节的情况下遍历数据结构。Iterator下定义的方法有:

hasNext():boolean 判断迭代器中是否有下个元素
next():E 返回迭代器的下个元素
remove():void 从集合中移除此迭代器返回的最后一个元素
forEachRemaining(Consumer<? super E> action):void 对剩余的每个元素执行给定操作,直到处理完所有元素或操作引发异常。

线性表迭代器ListIterator继承了Itrator接口,ListIterator增加了对表进行双向遍历的能力。定义了hasPrevious和previous,previousIndex等方法。

Iterable接口和Iterator接口的关系:

Iterable:在java.lang包中。实现了该接口的对象是可迭代的,能有使用foreach语句的能力。Iterable中定义的方法的操作对象是Iterator。

Iterator:在java.util包中。迭代器,提供迭代机制的对象。通过实现这个接口来提供标准的迭代器。

 

3.Collection接口

Java集合框架中定义的所有接口和类都组织在java.util包中。Collection是处理对象集合的根接口,Collection继承了Iterable接口,部分常用的方法定义如下所示。

add(E e):boolean 添加一个新元素e到该集合中
addAll(Collection<? extends E> c):boolean 将集合c中所有元素添加到该集合中
clear():void 删除该集合的所有元素
contains(Object o):boolean 判断该集合中是否包含元素o
containsAll(Collection<? extends E> c):boolean 判断该集合中是否包含集合c中的所有元素
isEmpty():boolean 判断该集合是否为空 
remove(Object o):boolean 从该集合中移除元素o
removeAll(Collection<?> c):boolean 从该集合中移除在集合c中也存在的元素
retainAll(Collection<?> c):boolean 取该集合和c的交集
size():int 返回该集合中元素的数目
iterator():Iterator 返回迭代器(即返回包含该集合所有元素的数组)
toArray():Object[] 返回一个包含该集合中所有元素的数组
toArray(T[] a):T[] 返回一个包含该集合中所有元素的指定类型数组
equals(Object o):boolean
hashcode():int

Java8之后接口里能够添加实现方法,称为默认方法,需在方法前增加default进行修饰。这一修改目的是为了解决接口的修改与现有的实现不兼容的问题,即在接口中添加新方法时不需修改所有的已有实现类。此外,java8也能在接口中声明(并且可以提供实现)静态方法。

AbstractCollection抽象类提供了Collecttion接口的大部分实现,除了add,size,iterator方法之外,实现了Collection的其他所有方法。该类也称为便利抽象类,用户可以继承它来很方便地实现自己的数据结构。

除了java.util.PriorityQueue没有实现Cloneable外,集合框架中的其他具体实现类都实现了java.util.Cloneable和java.io.Serializable接口,因此除了优先队列,Collection其他实例都是可克隆的。克隆能够创建该集合的副本,且在副本上做的修改不会影响到原集合。

 

4.List

List又称为线性表,List接口继承了Collection接口,定义了一个用于顺序存储元素的接口。除了Collection中定义的方法,还包含的常用方法如下:

sort(Comparator<? super E> c):void 排序,源码中将该集合转换为Array数组,再用Arrays.sort()排序
get(int index):E 取出索引为index的元素
set(int index, E element):E 将索引为index的元素用element取代并返回原来的元素
indexOf(Object o):int 返回线性表中第一个与指定元素匹配的元素的索引
lastIndexOf(Object o):int 返回线性表中最后一个与指定元素匹配的元素的索引
listIterator():ListIterator<E> 返回线性表的迭代器
listIterator(int index):ListIterator<E> 返回索引从index开始的迭代器
subList(int fromIndex, int toIndex):List<E> 截取索引从fromIndex到toIndex的子线性表

List具体实现类有ArrayList和LinkedList。前者继承了AbstractList抽象类,后者继承了AbstractSequentialList抽象类。AbstractList提供了List接口的部分实现,AbstractSequentialList扩展了AbstractList以提供对链表的支持。

ArrayList用数组存储元素,并且是动态扩容,若元素个数超过数组的容量就创建一个更大的新数组并将当前数组中所有元素都复制到新数组,这是比较耗废时间和内存的操作,因此若大致知道元素所需容量,在创建表时可以指定容量,可以节省扩容成本。ArrayList默认初始容量为10,当加入第一个元素时容量由0初始化为10,当新增元素后容量会超,则新建容量为原始容量1.5倍的新数组(通过位运算计算),并将原始数据拷贝到新数组。

LinkedList在一个链表中存储元素。

ArrayList和LinkedList的选择:

当需要频繁对线性表进行插入或删除操作应该选择Linkedlist,需要随机存取元素应选择ArrayList。因为ArrayList使用数组存储,数组在内存中是连续的线性空间,根据索引随机存取速度快,调整索引表现差。LinkedList在新增对象时才新增Node对象形成链状结构,不会事先耗费内存。Linkedlist有get方法来获取元素,但是效率很低,是通过从第一个对象开始计数来取得指定索引的元素。应该使用增强for循环或ForEach方法。

Vector和Stack

Vector是AbstractList的子类。与ArrayList相比,Vector包含用于访问和修改向量的同步方法。对于不需要同步的应用程序来说应该选择更高效的ArrayList。

栈是一种先进后出的数据结构,Stack(栈)是Vector的子类,包含了:

empty(): boolean 判断栈是否为空
peek(): E 返回栈顶元素
pop(): E 返回并移除栈顶元素
push(Object o): E 往栈顶中添加新元素
search(Object o):int 返回o在栈中离栈顶最近的位置,不存在返回-1

Queue

队列是一种先进先出的数据结构。Queue接口继承自Collection接口,加入了更适合队列的插入,获取和检验等操作。

Deque(双端队列)继承了Queue接口,LinkeList实现了Deque接口,因此可以使用LinkeList创建队列,能够高效的在两端进行插入或移除。

PriorityQueue(优先队列)实现了Queue接口,优先级最高的元素最先被移除。优先级的判定又Comparable或Comparator决定。

5.Set

set是用于存储和处理无重复元素的高效数据结构。Set接口扩展了Collection接口,它没有引入新的方法或常量,只是规定Set实例中不能出现重复元素。AbstractSet类继承了AbstractCollection类并部分实现了Set接口。AbstractSet类提供了equals方法和hashcode方法的具体实现。Set接口的具体类是HashSet,LinkedHashSet,TreeSet。遍历Set中的元素可使用foreach循环。

Hashset

HashSet是基于HashMap实现的,将元素保存于map的key中,而value使用一个static final的Object对象标识。插入新元素时通过判断HashMap中是否有key与新元素相等,若无则添加,若有则跳过,以此保证不重复性。相关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成。

HashSet默认初始容量为16,负载系数为0.75,即HashSet中元素超过现容量的0.75倍时自动扩容为现容量的2倍。构造方法中可添加参数修改初始容量和负载系数。负载系数0.75是在时间开销和空间开销上一个好的均衡。

HashSet中元素是无序的。

LinkedHashSet

LinkedHashSet用一个链表实现来扩展HashSet类,LinkedHashSet是有序的,可以按照插入先后来有序存储。若无需元素有序,应选择HashSet,它比LinkedHashSet更为高效。

TreeSet

SortedSet是Set的子接口,能够确保元素有序。此外它还提供了first()和last()方法以返回set中第一个元素和最后一个元素,以及方法headSet(toElement)和tailSet(fromElement)分别返回小于toElement和大于等于fromElement的部分。

NevigableSet扩展了SortedSet接口,提供了元素比较并返回元素,删除第一或最后一个元素并返回等方法。

TreeSet实现了NevigableSet接口,元素是有序的,是通过元素实现Comparable接口或在构造TreeSet时指定Comparator来排序。

线性表(list)和规则集(set)性能比较:仅对比list和set的查询速度和删除速度,set都比list要快很多。

6.Collections

Collections类包含了集合和线性表中的通用操作的静态方法。主要包含了用于线性表的sort,binarySearch,reverse,shuffle,copy,nCopies和fill(以指定元素替换线性表中所有元素)方法,以及集合的max,min,disjoint(判断两个集合中是否有重复元素)和frequency方法。其中,copy方法是浅复制,复制的只是引用。nCopies(int n,T o)创建了一个包含o的n个副本的不可变线性表,所有元素都有相同引用。

上述的ArrayList,LinkedList,HashSet,TreeSet,LinkedHashSet,Hashmap,LinkedHashMap,TreeMap都是线程不安全的,即在多线程的情况下,不提供数据访问保护,导致数据不一致或脏数据的产生。Collection中还有一类用于提供线程安全的集合。主要有:

synchronizedCollection(Collection<T> c):<T> Collection<T> 返回线程安全的collection
synchronizedSet(Set<T> s):<T> Set<T> 返回线程安全的set
synchronizedList(List<T> list):<T> List<T> 返回线程安全的list
synchronizedMap(Map<K,V> m): <K,V> Map<K,V> 返回线程安全的map

Tips:

传统方法主要采用上述包装类来获得同步集合,但是上述方法会锁住整个集合,因此降低了并发性能。从java5 开始,在java.util.concurrent包下,提供了大量支持高效并发访问的集合接口和实现类,主要包括以Concurrent开头(ConcurrentHashMap等)的集合类和以CopyOnWrite开头(CopyOnWriteArrayList的)的集合类。前者引入了分段的概念,适用于写多读少的情况,访问时不会锁住整个集合而是只对相关片段上锁,未上锁部分依旧支持多线程访问。后者采用读写分离的思想,允许多个线程以非同步的方式读,适合在读多写少的情况下使用,因为有线程写的时候它会将整个集合复制一个副本来进行操作,频繁复制会使性能变差。此外,ConcurrentHashMap不允许null作为键或值。

写多读少,有实时性要求选择Concurrent

读多写少,无实时性要求选择CopyOnWrite

7.Map

map是一个存储键值对集合的容器对象,它提供了通过键快速获取,删除和更新键值对的功能。map中不能存在重复键。map可以通过forEach方法和entrySet等方法进行遍历。后者能够返回一个Set对象,对象中元素都是Map.Entry实例,可以直接调用getKey(),getValue()来获取每个Map.Entry的键和值。Map中的常用方法如下:

size():int 返回map的大小
isEmpty(): boolean 判断是否为空
containsKey(Object key):boolean 判断key是否存在
containsValue(Object value):boolean 判断值是否存在
get(Object key):V 按照key值获取value
put(K key, V value):V 加入键值对
remove(Object key):V 按照key值删除键值对
putAll(Map<? extends K, ? extends V> m):void 将m中所有键值对加入到本map
clear():void 删除所有键值对
keySet():Set<K> 返回包含所有键的set
values():Collection<V>  返回包含所有值的集合
entrySet():Set<Map.Entry<K, V>> 返回包含所有键值对的Map.Entry Set
forEach(BiConsumer<? super K, ? super V> action):void 对每条键值对执行操作

AbstractMap是一个便利抽象类,实现了Map中除了entrySet之外的所有方法。map的具体实现类有HashMap,LinkedHashMap和TreeMap。

HashMap

HashMap对于定位一个值,插入键值对以及删除键值对是高效的。Java2以前一般使用Hashtable来存储键值对,它实现了Map接口,除了更新方法是同步的以外,它与HashMap的使用方法是相同的。

LinkedHashMap

LinkedHashMap用链表来扩展HashMap类,元素可以按照插入的先后算徐或最后一次被访问的顺序来排序。可在构造方法中指定顺序,默认按照插入顺序。

TreeMap

SortedMap是map的子接口,它能够确保map中的键值对是有序的,还提供了firstKey和lastKey方法返回map中第一个和最后一个键。headMap(toKey)和tailMap(fromKey)分别返回键小于toKey的部分和大于等于fromKey的部分。

NavigableMap继承了SortedMap,提供了键比较并返回键,删除第一或最后一个键值对并返回等方法

TreeMap在遍历排好序的键时很高效,是按照键的比较来排序的。

 

 

【Java集合框架】03 —— Collection 接口(Collection Interface) Collection Interface 阅读详情

相关推荐

java基础之集合框架--Collection及Map顶级接口

java基础之集合框架–Collection及Map顶级接口前两天,参加了百度的面试,面试内容基本都是基础知识,好多问题没有答好,所以定个小目标,在年前争取把java主流的基础知识都巩固一遍;那就以使用最频繁的集合框架开始。Collection及Map类图collection类图可以看出来,Collection下的子接口有三个分别为Set,List,Queue,其中Set为无序的且不可重复的集合,L

wmj765的博客 3552

Java基础之Collection

Java基础之Collection

qq_45344586的博客 4772

java集合框架Collection

java集合框架 java.util.Collection接口 Collection接口中定义了所有集合都要具备的功能,它也是所有集合的顶级接口。 Collection下面有几种不同集合的分类,常见的两个: 1.java.util.List:List接口表示的是线性表,是有序的且可以存放重复元素的集合 * 2.java.util.Set:Set接口表示的是不可重复的集合 这里指的重复是元素是...

努力是为了站在万人之中,成为别人的光 1万+

【Java 基础篇】Java Collection详解

Collection是Java集合框架的根接口,它定义了一些基本的操作和行为,如添加、删除、遍历等。List和Set。List是一个有序的集合,可以包含重复元素。它提供了按索引访问、插入、删除等操作。常见的实现类有ArrayListLinkedList和Vector。Set是一个不允许包含重复元素的集合。它提供了高效的元素查找和去重。常见的实现类有HashSetTreeSet和。此外,Map接口也是Collection框架的一部分,它提供了键值对的存储和操作。Map中的键是唯一的,值可以重复。

繁依Fanyi的博客 7279

配置Dot1q终结子接口实现跨设备VLAN间通信示例

示例图 一.实验目的 1.配置Dot1q终结子接口实现跨设备VLAN间通信示例 二.注意事项 1.Dot1q终结子接口和QinQ终结子接口不支持透传不带VLAN Tag的报文, 收到不带VLAN Tag的报文会直接丢弃 2.由于三层以太网子接口不支持VLAN报文,当它收到VLAN报文时,会将VLAN报文当成是 非法报文而丢弃,因此,需要在子接口上将VLAN Tag剥掉,也就是需要VLAN终结 三.VLAN终结简介 1.VLAN终结的实质包含两个方面: ①.对接口接收到报文,剥除VLAN标

qq_44751470的博客 7097

SiamRPN++实战:如何用深度孪生网络提升无人机目标跟踪精度(附代码)

本文深入探讨了如何利用SiamRPN++深度孪生网络构建适用于无人机平台的高精度、轻量化单目标跟踪系统。文章详细解析了其兼顾精度与效率的核心原理,并提供了从PyTorch模型轻量化、骨干网络替换到TensorRT部署及应对遮挡、光照突变等实际挑战的完整工程实践指南与代码示例。

weixin_29047545的博客 370

java之Collection

主要内容 Collection集合 迭代器 增强for List集合 Set集合 学习目标 能够说出集合与数组的区别 说出Collection集合的常用功能 能够使用迭代器对集合进行取元素 能够说出集合的使用细节 能够使用集合存储自定义类型 能够使用foreach循环遍历集合 能够说出List集合和Set集合的区别 能够说出List集合各种实现类的区别 能够说出Set集合各种实现类的区别 能够说出Collection和Map集合的区别 说出Map集合的常用功能 能够遍历Map集

m0_46191714的博客 2万+

具身智能落地实战:制造业、物流与电力的工业级方案设计

具身智能是一种融合感知、推理与物理执行的智能范式,其核心在于构建具备因果建模能力、多模态闭环反馈和实时动作规划的行动主体。区别于通用AI或传统自动化,它依托多模态大模型、高精度力觉/触觉传感及Sim2Real仿真技术,实现对真实物理环境的深度理解与自适应交互。技术价值体现在可解释性决策、毫秒级跨模态协同与零停机容错能力,已规模化应用于制造业质检、物流破损鉴定、电力绝缘子巡检等强约束工业场景。本文聚焦‘行业应用方案解决方案’这一高频搜索需求,系统拆解从工位筛选、分层架构设计到72小时现场交付的全链路工程方法论

weixin_30952479的博客 300

Java学习-集合(Collection)

Java学习-Collection1 Collection(单列集合)1.2 List集合1.3 Set集合2 Collections3 Map(双列)集合 1 Collection(单列集合) 集合的由来:为了方便对多个对象进行操作,必须要储存多个对象,而想要储存多个对象,就不能是一个基本的变量,而应该是一个容器类型变量,而对象数组的长度是固定的,为了适应变化需求Java就提供了集合类。 数组和集合的区别: 长度区别: 数组长度固定,集合长度可变 内容不容: 数组储存的是同一种类型数,而集合可以存储不

yong_19930826的博客 963

PyTorch实战:3D U-Net医学图像分割从零搭建(附完整代码)

本文详细介绍了如何使用PyTorch从零搭建3D U-Net模型进行医学图像分割,涵盖三维卷积实现、模块化架构设计、医学图像专属优化策略及完整训练流程。通过实战代码演示,帮助开发者掌握UNet-3D在CT、MRI等三维医学图像分割中的应用,提升肝脏肿瘤分割、肺结节检测等任务的准确性。

weixin_29061997的博客 330

基于深度学习YOLOv8的商品识别系统(深度学习 + UI界面 + 训练数据集 + Python代码)

如果使用自定义数据集,可以通过图像标注工具如LabelImg来标注每个商品的类别和边界框,并保存为YOLO格式的文本文件。bash复制编辑/dataset/images/train/val/labels/train/val这样,我们就准备好了数据集,可以开始训练YOLOv8模型。本文介绍了如何使用YOLOv8构建一个商品识别系统,包括从数据准备到模型训练,再到UI界面的开发。通过深度学习技术,尤其是YOLOv8的高效目标检测能力,我们能够快速实现商品识别并集成到实际应用中。

YOLO 302

Java——Collection集合

java中Collection集合详解

程序员阿龙的博客 7282

深入大模型-13-大模型Skills应用之标准目录结构和开发一个Skill的步骤

首先对比Prompt工程,上下文工程,Skills工程,MCP工具的概念与区别,然后介绍Skill的标准目录结构,同时描述了开发一个Skill的步骤和最佳实践。

qq_20466211的博客 748

【JavaSE系列】Java集合框架之Collection,Map接口

本篇文章带大家认识Java基础知识——集合框架,从本篇文章开始正式拉开数据结构的序幕,要深入了解一件事,那必然先得见个面,本文带大家认识Java集合框长什么样,以及怎么使用Collection和Map接口。

未见花闻的博客 1832

强化学习实战——OpenAI Gym环境配置+实战演示(win10)

遇到问题:无法安装pickle5原因是:python3.8与该包不兼容,必须降python3.7的版本。

LZL2020LZL的博客 4899

第16课:动手实战中文句法依存分析

句法分析是自然语言处理(NLP)中的关键技术之一,其基本任务是确定句子的句法结构或者句子中词汇之间的依存关系。主要包括两方面的内容:一是确定语言的语法体系,即对语言中合法句子的语法结构给予形式化的定义;另一方面是句法分析技术,即根据给定的语法体系,自动推导出句子的句法结构,分析句子所包含的句法单位和这些句法单位之间的关系。 句法分析被用在很多场景中,比如搜索引擎用户日志分析和关键词识别,比如信息抽...

春华秋实 2437

Java 集合框架(Collection)

这个方法允许你指定数组的类型,并且可以避免类型转换的开销。相关的方法,当然,Collection的功能List也都继承了。1.LinkedList集合的底层是基于什么实现的?① 如果集合支持索引,可以使用for循环遍历,每删除数据后做。获取集合的迭代器对象,对迭代器对象使用.next()方法。基于双链表的这种特点,LinkedList新增了很多。写累了,承受了这个年纪不该承受的(惆怅脸)…函数式接口的实现,这个实现可以是一个。就是removeFirst方法的套皮,来实现的,但隐藏了迭代器的实现细节。

m0_70484213的博客 1169

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java中集合框架详解之Collection集合

不再考虑equals() 和 hashCode()方法了,即添加到TreeSet中的元素所在的类不需要重写 equals() 和 hashCode()。原因:因为Collection中的相关方法(比如contains() / remove())在使用中,要调用元素所在类的equals().比较元素的大小或比较元素是否相等的标准就是考虑自然排序或定制排序中,compareTo()和compart()的返回值。比较的标准,需要判断hashCode()得到的哈希值以及equals()得到的boolean型结果。

weixin_45535916的博客 1851

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java集合总结之Collection整体框架

前段时间一直在忙一个物联网的项目,所以Java的学习一直搁置,从今天开始继续学习!望大家多提宝贵意见!         java.util包中包含了一些在Java 2中新增加的最令人兴奋的增强功能:类集。一个类集(collection)是一组对象。类集的增加使得许多java.util中的成员在结构和体系结构上发生根本的改变。它也扩展了包可以被应用的任务范围。Java的类集(Collection)

被赶的蜗牛的专栏 4万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

JAVA 中级 / 集合框架 - 其他集合 - JAVA 集合框架 COLLECTION

目录 1.Collection 1.1为什么需要Collection 1.2数组和集合的区别 1.3Collection的由来与功能 2.实现(implementation) 3.常用实现 4.算法: 1.Collection Collection是 Set List Queue和 Deque的接口 Queue: 先进先出队列 Deque: 双向链表 注:Collection和Map之间没有关系,Collection是放一个一个对象的,Map 是放键值对的 注:Deque 继承 Q..

q306507291的博客 230

Java 集合框架之Collection接口方法

Java集合框架概述 Java集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。

m0_50963943的博客 696

Java集合框架、Collection体系的单列集合

Java集合框架是用于存储和操作对象的容器体系,主要分为和两大根接口。其中接口用于存储单个元素的集合,接口用于存储键值对映射关系。

FUYY'S BLOG 875

java collection接口,Java集合框架之Collection接口详解

Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架。Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeratio...

weixin_33407806的博客 211

Java 集合框架 collection详解

集合介绍

qq_39654399的博客 201

Java集合框架中Collection及Map接口与Set介绍

目录一、类和接口总览二、Collection接口常用方法说明2.1将元素放到集合中add2.2 删除集合中的所有元素clear()2.3判断集合是否没有任何元素isEmpty()2.4 删除集合中元素remove()2.5 判断集合中元素个数size()2.6 返回一个装有所有集合中元素的数组三、Map接口常用方法说明3.1 根据指定的k查找对应的v(get)3.2 将指定的 k-v 放入Map(put)3.3 判断是否包含key(containskey)3.4 判断是否包含value(containsva

dddddrrrzz的博客 918
上一篇: 【python】imageio和cv2抽视频帧性能比较
下一篇: 【Java】散列
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值