Java基础知识(七)--集合

Java集合基础知识 Java集合相关知识 阅读详情

微信公众号:Java患者
专注Java领域技术分享

集合

  • 数组和集合存储引用数据类型,存的都是地址值

  • 数组和集合的区别

    • 数组长度是固定的,不能自动增长

    • 集合的长度是可变的,可以根据元素的增加而增长

    • 数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值

    • 集合只能存储引用数据类型(对象),集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象

    • 区别1

    • 区别2

集合框架 Vector跟List的特点

  • ArrayList

    • 底层数据结构是数组,查询快,增删慢

    • 线程不安全,效率高

  • Vector

    • 相对ArrayList查询慢(线程安全)

    • 相对LinkedList增删慢(数组结构)

  • LinkedList

    • 底层数据结构是链表,查询慢,增删快

    • 线程不安全,效率高

泛型

泛型概述

  • 通过参数化类型来实现在同一份代码上操作多种数据类型的技术

泛型好处

  • 提高安全性(将运行期的错误转换到编译期)

  • 省去强转的麻烦

Set

HashSet原理

  • 当HashSet调用add()方法存储对象的时候,先调用对象的hashCode()方法得到一个哈希值,然后在集合中查找是否有哈希值相同的对象

    • 如果没有哈希值相同的对象就直接存入集合

    • 如果有哈希值相同的对象,就和哈希值相同的对象逐个进行equals()比较,比较结果为false就存入,true则不存

  • 将自定义类的对象存入HashSet去重复

    • 类中必须重写hashCode()和equals()方法

    • hashCode()属性相同的对象返回值必须相同,属性不同的返回值尽量不同

    • equals() 属性相同返回true,属性不同返回false。返回false的时候存储

LinkedHashSet

  • 可以保证怎么存就怎么取

TreeSet

  • 特点 TreeSet是用来排序的,可以指定一个顺序,对象存入之后会按照指定的顺序排列

  • 自然顺序(Comparable)

    • TreeSet类的add()方法中会把存入的对象提升为Comparable类型

    • 调用对象的compareTo()方法和集合中的对象比较

    • 根据compareTo()方法返回的结果进行存储

  • 比较器顺序(Comparator)

    • 创建TreeSet的时候制定一个Comparator

    • 如果传入了Comparator的子类对象,那么TreeSet就会按照比较器中的顺序排序

    • add()方法内部会自动调用Comparator接口中的compare()方法排序

    • 调用的对象是compare方法的第一个参数,集合中的对象是compare方法的第二个参数

  • 两种方式的区别

    • TreeSet构造函数什么都不传,默认按照类中Comparable的顺序

    • TreeSet如果传入Comparator,就优先按照Comparator

Map

map接口概素

  • 将键映射到值的对象

  • 一个映射不能包含重复的键

  • 每个键最多只能映射到一个值

Map接口跟Collection接口的不同

  • Map是双列的,Collection是单列的

  • Map的键唯一,Collection的子体系Set是唯一的

  • Map集合的数据结构值针对键有效,跟值无关;Collection集合的数据结构是针对元素有效

HashMap跟Hashtable的区别

  • Hashtable是JDK1.0版本出现的,是线程安全的,效率低

  • HashMap是JDK1.2版本出现的,是线程不安全的,效率高

  • Hashtable不可以存储null键跟null值,HashMap可以存储null键跟null值

资料 · 福利

回复 【Java】即可获取最新零基础Java视频资料

回复 【激活】即可获取IDEA、datagrip等系统激活方式

回复 【面试题】即可获取Java技术相关面试题

往期 · 精彩

专注分享Java技术,跟我一起学习吧

长按识别二维码关注

bfad342d82040be89dcd736f6f860ce6.png

d70f4bc2c10081a2220426abde9d747d.jpeg

Java基础知识之什么是集合框架 Java基础知识之什么是集合框架,Java基础知识之集合Collection概述,前面的文章,我们已经学习了Java的一些基础知识,比如泛型、注解等等内容,接着本博客继续学习Java中一个很常见的内容,集合。Java Collections 框架由接口和类组成,集合框架是用于存储数据和操作一组对象的统一架构 阅读详情

相关推荐

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

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

学Java,找哪吒 2万+

java基础 集合

集合类 数据多了,用对象存储,对象多了,用集合存储 数组存储对象,长度固定,而集合的长度是可变的。 数组中可以存放基本数据类型,集合只能存储对象。 所以: 集合只用于存储对象,集合的长度是可变的,并且可以存放不同类型的对象 特性与共性 集合框架,参阅顶层,创建底层。 Collection |---list |---ArrayList |---LinkedList |

fan510988896的博客 496

【Java集合 1】Java集合,Collection接口,Iterator接口

全网最细Java零基础手把手入门教程,系列课程包括:基础篇、集合篇、Java8新特性、多线程、代码实战,持续更新中(每周1-2篇),适合零基础和进阶提升的同学。

学Java,找哪吒 5215

Java基础知识(七) -- 集合

  集合是 Java 中提供的一种容器,可以用来存储多个数据。集合主要分为两大系列:Collection和Map,Collection 表示一组对象,Map表示一组映射关系或键值对。集合和数组既然都是容器,它们有啥区别呢?  Java集合类主要由两个根接口Collection和Map派生出来的,Collection派生出三个子接口:List、Set、Queue, 因此Java集合大致也可分成List、Set、Queue、Map四种接口体系。List: 存储的元素是有序的、可重复的。Set: 存储的元素是无序

weixin_44852067的博客 1232

第六节 旅烨cms实战练习 -2021.03.11

第六节 旅烨cms实战练习 -2021.03.11 前期使用win10里小皮搭建旅烨cms,以为自己的各项配置有问题,但是小皮能够正常带动DVWA,始终带动不了旅烨cms。 后来与其他安全人员交流,发现win7可以正常运行旅烨cms。 所以目前为何出现问题尚不清楚 1.环境搭建 win7+小皮 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nOSTEFUw-1615475228402)(C:\Users\LuXian\AppData\Roaming\Typora\typora

lyx3429的博客 571

[misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp

[misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp 文章目录[misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp分析log文件格式分析协议组成UDS网络传输层UDS统一诊断服务协议分析文件提取文件逆向flag计算参考链接: teslaaaaa这道题是青龙组被做出来的题目中做出来人数最少的,直到比赛快结束才有第一个人做出来,怎么说,难并不是因为脑洞大,讲道理这道题是一道好题,我当时也是肝了一天没做出来,我倒是把文件提取出来了,奈何比赛时间已经接近尾

Breeze的博客 1万+

Java基础知识七:集合

一、接口和实现分离Java中的集合类库将 接口和实现分离。分离的好处是 可以使用  接口类型的引用 指向实际类型的 对象。这样 当发现具体的实现类型无法满足需要时,只需要更换具体的实现类型就可以了,兼容性很好。二、集合接口和迭代器接口Java中 集合(list set queue)的基本接口是 Collection接口,此接口包含 add方法和iterator方法。iterator方法返回一个实现...

You can either travel or read,but either your body or soul must be on the way. 291

CD-HIT的使用

继续我的生信笔记系列。从某网站的附带文献中读到该工具,搜索了一下,发现网上的大佬们都在讲如何用它去冗余,相对官方页面的介绍而言很是片面,于是刚好有聚类的需求的我准备对其全体功能做做实验,学习一下由李伟忠博士在伯纳姆研究所(现为桑福德伯纳姆医学研究所)亚当·戈兹克博士的实验室开发的牛工具。 首先是官方介绍: CD-HIT是一个非常广泛使用的程序,用于蛋白质或核苷酸序列的聚类和比较。最初由李伟忠博士在伯纳姆研究所(现为桑福德伯纳姆医学研究所)亚当·戈兹克博士的实验室开发,CD-HIT速度非常快,可以处理非常

一名学术waste的note pro 1万+

黑马程序员,Java基础知识七:集合类

面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,于是就出现了集合类。集合类不同于数组,数组虽然也可以存储对象,但长度是固定的,集合长度是可变的。数组只可以存储基本数据类型,而集合中可以存储自定义的对象。 接下来用集合中的ArrayList类来实现如何将自定义对象添加到集合中,并且去除其中的重复元素。 class Person { private

u012605440的专栏 507

构建可编程记忆系统:OpenClaw-SuperMemory本地部署与智能知识管理实战

在信息过载的时代,高效的知识管理与智能检索成为技术从业者的核心需求。向量数据库与嵌入模型技术通过将文本转化为高维向量,实现了基于语义相似度的智能搜索,突破了传统关键词匹配的局限。这项技术的核心价值在于将静态存储的信息转化为可动态查询和计算的知识资产,极大地提升了信息调用的准确性和效率。其应用场景广泛,从个人笔记管理、对话历史归档到企业知识库构建都能发挥关键作用。本文聚焦于开源项目OpenClaw-SuperMemory,它正是基于这一技术栈,通过本地化部署实现了可编程记忆系统的构建。项目集成了ChromaD

weixin_42525482的博客 319

YOLOv8【第七章:损失函数篇·第1节】一文搞定,IoU系列损失函数!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 1194

Java基础知识总结(七)集合 泛型 常用API

集合框架:★★★★★,用于存储数据的容器。 特点: 1:对象封装数据,对象多了也需要存储。集合用于存储对象。 2:对象的个数确定可以使用数组,但是不确定怎么办?可以用集合。因为集合是可变长度的。 集合和数组的区别: 1:数组是固定长度的;集合可变长度的。 2:数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。 3:数组存储的元素必须是同一个数据类型;集...

weixin_43663375的博客 154

3、神经网络在汽车中的应用

本文探讨了神经网络在现代汽车中的多种应用,包括防抱死制动系统(ABS)、燃油喷射系统、自动驾驶辅助系统以及发动机故障诊断。通过详细分析这些系统的具体工作流程和神经网络的集成方式,展示了神经网络如何提升车辆的安全性、效率与智能化水平。

moss5的博客 233

Java基础知识七:Collection集合、ArrayList集合、List集合、增强for循环、数据结构分类、LinkedList集合、集合案例

集合 集合:集合都是接口,想使用集合必须用实现类来完成 一、Collection(单例集合): --〉List(元素可重复)--〉Set(元素不可重复) 1、List实现类: ArrayList、LinkedList、…… 2、Set实现类:HashSet、TreeSet、…… 二、Map(双例集合)实现类: HashMap、…… Alt+7: 可以打来当前窗口所有类的列表信息 ArrayList: 可以存储重复元素 1、Collection集合遍历案例 2、...

分享Java技术知识,共同成长进步! 346

【部署】OpenClaw版本降级实操(含全量卸载)

本文详细介绍了OpenClaw工具的降级与卸载方法。主要内容包括:1)通过npm安装指定版本的核心命令及国内镜像加速方案;2)两种卸载路径:CLI工具存在时的简易一键卸载(含交互式与非交互式命令)和手动分步卸载流程;3)CLI已删除但服务仍在运行时,针对macOS(launchd)、Linux(systemd)和Windows(计划任务)系统的具体清理步骤。文章特别强调了卸载前备份的重要性,并提供了不同安装方式(常规安装与源码克隆)的额外说明,确保用户能彻底清理所有组件。

海兰 3171

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

黑马程序员---java基础知识(七):集合框架

集合框架 1、简述:       所谓集合,就是为方便对多个对象的操作,对对象进行存储。集合就是存储对象最常用的一种方式。 2、集合与数组的区别:       数组:可存储同种类型的数据,但长度固定,也可存储基本类型的数据       集合:只可存储对象,长度可变,类型可以不同。 3、集合的特点:       只用于存储对象,长度可变,也可存不同类型的对象

qq_26621097的专栏 414

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

集合基础知识(Java基础)

集合分为单列集合(元素是一个一个的)和双列集合(元素是成对的)

szm0225的博客 1132

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java学习七—集合框架

Java 集合框架(Collection Framework)是 Java 提供的一组用于存储和操作对象的类和接口集合。这些集合类提供了不同的数据结构,使得数据的管理和操作更加方便和高效。

qq_17153885的博客 1329

Java基础知识——集合

简介 在Java中,如果一个Java对象可以在内部持有若干其他Java对象,并对外提供访问接口,我们把这种Java对象称为集合,故Java的数组也可以看作是一种集合。那么即然有了数组,为什么Java还要提供集合类呢,原因:一、数组初始化后大小不可变;二、数组只能按索引顺序存取 Collection Java标准库自带的java.util包提供了集合类:Collection,它是除Map外所有其他集...

小夏陌的博客 5691

【JAVA SE】JAVA中的集合的基础知识

一、集合与数组 1. 集合与数组存储数据概述: 集合、数组都是对多个数据进行存储操作的结构,简称Java容器。 说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中) 2. 数组存储的特点: 一旦初始化以后,其长度就确定了。 数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。 比如:String[] arr、int[] arr1、Object[] arr2 3. 数组存储的弊端: 一旦初始化以后,其长度就不可修改。 数组中提供的方

crisp0530的博客 588

Java的双列集合的基础知识

Java中的Map接口是双列集合的顶层接口,它定义了一系列用于操作键值对的方法。常见的Map实现类包括HashMap、LinkedHashMap、TreeMap等,它们各自具有不同的特性和适用场景。例如,HashMap基于哈希表实现,提供了快速的插入、删除和查找操作;TreeMap基于红黑树实现,可以对键进行排序;而LinkedHashMap则保持了键值对的插入顺序。总结来说,双列集合在Java中是一种强大的数据结构,通过键值对的映射关系实现了高效的数据存储和检索功能。

2301_80142564的博客 2538

Java 集合基础知识

Java 集合基础知识Java 集合基础知识ArrayListLinkedListHashMap如何计算bucket下标map的几种遍历方法方式1:Iterator迭代器方式2:最常见的使用方式,可同时得到key、value值方式3:使用foreach方式(JDK1.8才有)方式4:通过key的set集合遍历JDK8中的HashMap底层实现1. 快速失败和安全失败是什么 Java 集合基础知识 https://juejin.im/post/5de85e05f265da33b50727f6 参考链接。

zhaozhen的博客 501

【Java基础知识7】集合

在Java中,集合(Collection)指的是一组数据容器,它可以存储多个对象,并且允许用户通过一些方法来访问与操作这些对象。Java提供了一系列接口和类来支持不同类型的集合。Collection接口,主要用于存放单一元素;Map接口,主要用于存放键值对。

阿志的博客 997

JAVA集合基础知识

集合 一.集合概述 ​ 1、集合式一个容器,可以用来容纳其它类型的数据 ​ 2、集合不能直接存储基本数据类型,集合也不能直接存储java对象,它存的是java对象的内存地址。如果存100,那也是java自动装箱Intiger之后再存的 注意: ​ 集合在java中本身是一个容器,是一个对象。 ​ 集合中任何时候存储的都是“引用”。 二、集合的结构 ​ 在java中集合分为两大类,一类是单个方式存储元素:他们的超级父类接口:java.util.Collection; ​ 一

m0_48989254的博客 752

(一)Java 面试问题 — Java 基础知识+集合

就是把对象的属性和行为(数据)结合为一个独立的整体,并尽可能的隐藏对象内部的实现细节,就是把不想告诉或者不该告诉别人的东西隐藏起来,把可以告诉别人的公开,别人只能用我提供的功能实现需求,而不知道是如何实现的。增加安全性。 子类继承父类的数据属性和行为,并根据自己的需求拓展出新的行为,提高了代码的复用性。 指允许不同的对象对统一消息做出相应处理,即同一消息可以根据发送对象不同而采用多种不同的行为方式(发消息就是函数调用),封装和继承都是为多态而准备的,在执行期间判断引用对象的实际类型,根据其实际的类型调用其相

weixin_43904497的博客 876
上一篇: Java基础知识(六)--内部类
下一篇: Java基础知识(八)--异常
新时代Java农民工
博客等级 码龄7年 16粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值