JavaSE&Collection集合

简介: JavaSE&Collection集合

8.1 集合和数组的区别

  • 长度区别
  • 数组 : 长度固定
  • 集合 : 长度可变
  • 存储数据类型
  • 数组 : 可以存储基本数据类型, 也可以存储引用数据类型
  • 集合 : 只能存储引用数据类型 , 要想存储基本数据类型 , 需要存储对应的包装类类型


8.2 集合的体系

image.png

8.3 Collection集合常用的方法

  • 在学习集合体系,一般先学习顶层接口。学习了顶层接口的方法,子类型继承而来的方法,就可以不用重复学习。

public boolean add(E e): 把给定的对象添加到当前集合中 。

public void clear() :清空集合中所有的元素。

public boolean remove(E e): 把给定的对象在当前集合中删除。

public boolean contains(Object obj): 判断当前集合中是否包含给定的对象。

public boolean isEmpty(): 判断当前集合是否为空。

public int size(): 返回集合中元素的个数。

public Object[] toArray(): 把集合中的元素,存储到数组中

8.4 迭代器

  • 概述 :
  • 迭代器就是对Iterator的称呼 , 专门用来对Collection集合进行遍历使用的。学习迭代器的目的就是为了遍历集合
  • 注意 :
  • 只有继承/实现Iterable接口才具有迭代的能力
  • Collection接口继承了Iterable接口所以 , Collection及其子类都具备迭代的能力
  • 获取迭代器对象的方式
  • 通过Collection集合对象调用Iterable接口中的iterator方法 , 就可以获取迭代器对象
  • Iterator(迭代器)中的方法

image.png

迭代器的注意事项
  • 当迭代器迭代元素完成后,不能继续next获取元素,否则会报:NoSuchElementException
  • 当迭代器在使用的过程中,不能使用集合对象直接增删元素。会导致报ConcurrentModificationException。如果要删除可以使用迭代器来删除

8.5 增强for循环

  • 增强for循环(foreach),专门用来遍历集合或者数组,底层实现使用迭代器
  • 定义格式 :
for(元素的类型 变量名 : 数组/单列集合 ){
    变量代表的就是集合或者数组的元素
}

进行遍历使用的。学习迭代器的目的就是为了遍历集合


  • 注意 :

只有继承/实现Iterable接口才具有迭代的能力

Collection接口继承了Iterable接口所以 , Collection及其子类都具备迭代的能力

  • 获取迭代器对象的方式

通过Collection集合对象调用Iterable接口中的iterator方法 , 就可以获取迭代器对象

  • Iterator(迭代器)中的方法

image.png

迭代器的注意事项
  • 当迭代器迭代元素完成后,不能继续next获取元素,否则会报:NoSuchElementException
  • 当迭代器在使用的过程中,不能使用集合对象直接增删元素。会导致报ConcurrentModificationException。如果要删除可以使用迭代器来删除

8.6 使用场景

Collection集合是Java编程语言中的一种数据结构,它用于存储一组对象。它提供了许多有用的方法和功能,使我们可以更方便地操作和管理这组对象。


以下是一些使用Collection集合的常见场景:


数据存储:Collection集合是一种很方便的数据存储结构,可以存储任意类型的对象。比如,你可以使用ArrayList集合来存储学生对象的列表,LinkedList集合来存储任务的队列等等。


数据检索和遍历:Collection集合提供了丰富的方法来检索和遍历集合中的元素。你可以使用Iterator迭代器来遍历集合,使用contains()方法检查集合中是否存在某个特定的元素。


数据排序和过滤:Collection集合可以通过定义排序器或过滤器对元素进行排序和过滤。比如,你可以使用Collections类的sort()方法对集合中的元素进行排序,或者使用filter()方法根据特定的条件过滤集合中的元素。


数据操作:Collection集合提供了一系列的操作方法,比如添加、删除、修改和替换元素等。你可以使用add()方法向集合中添加元素,使用remove()方法删除集合中的某个元素。


数据统计:Collection集合可以被用来对数据进行统计和分析。你可以使用size()方法获取集合的大小,使用isEmpty()方法判断集合是否为空,使用统计函数来计算集合中元素的总和、平均值等等。


总而言之,Collection集合是一种非常灵活和常用的数据结构,在各种不同的场景下都有广泛的应用,可以帮助我们更高效地处理和管理数据。

相关文章
|
5天前
|
云安全 人工智能 自然语言处理
|
9天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
855 26
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
437 4
|
12天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
823 59
Meta SAM3开源:让图像分割,听懂你的话
|
2天前
|
弹性计算 网络协议 Linux
阿里云ECS云服务器详细新手购买流程步骤(图文详解)
新手怎么购买阿里云服务器ECS?今天出一期阿里云服务器ECS自定义购买流程:图文全解析,阿里云服务器ECS购买流程图解,自定义购买ECS的设置选项是最复杂的,以自定义购买云服务器ECS为例,包括付费类型、地域、网络及可用区、实例、镜像、系统盘、数据盘、公网IP、安全组及登录凭证详细设置教程:
172 114
|
5天前
|
机器学习/深度学习 人工智能 数据可视化
1秒生图!6B参数如何“以小博大”生成超真实图像?
Z-Image是6B参数开源图像生成模型,仅需16GB显存即可生成媲美百亿级模型的超真实图像,支持中英双语文本渲染与智能编辑,登顶Hugging Face趋势榜,首日下载破50万。
376 19
|
3天前
|
人工智能 安全 小程序
阿里云无影云电脑是什么?最新收费价格个人版、企业版和商业版无影云电脑收费价格
阿里云无影云电脑是运行在云端的虚拟电脑,分企业版和个人版。企业版适用于办公、设计等场景,4核8G配置低至199元/年;个人版适合游戏、娱乐,黄金款14元/月起。支持多端接入,灵活按需使用。
271 164