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

免费大容量国外网盘测评:冷数据归档与rclone加密接入

云存储的本质,是通过对象存储、冗余编码和分层缓存,把本地磁盘容量问题转化为网络访问与数据管理问题。免费大容量国外网盘常以空间换用户规模或付费转化,容量政策、传输策略、协议支持和退出成本,往往比标称容量更决定长期可用性。支持 WebDAV、S3 兼容和命令行工具的服务,可接入 rclone 等自动化流程,再配合客户端加密与冷热分层,用于冷数据归档、老项目备份和家庭影像保存。理解带宽换算、单文件上限、保活机制与传输一致性后,评估话题型大容量网盘与专业向协议网盘,就能把免费空间纳入可靠存储层。围绕免费大容量国外网

weixin_31292729的博客 210

Simulink与CANape联动教程:模型调试阶段如何快速标定参数观测信号

本文详细介绍了如何通过Simulink与CANape联动,实现模型参数的实时标定与信号观测,从而避免反复编译,提升开发效率。核心在于正确配置Simulink中的标定量与观测量,生成A2L描述文件,并利用XCP协议建立通信,为新能源汽车与自动驾驶系统的快速原型开发提供高效解决方案。

weixin_29006187的博客 374

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

从零构建OpenBMC风扇控制:基于phosphor-pid-control的实战配置指南

本文详细介绍了如何从零开始构建OpenBMC风扇控制系统,基于phosphor-pid-control框架实现风扇自动调速。通过解析PID算法配置、传感器定义及控制区域设置,提供工业级散热解决方案,帮助开发者优化服务器能效与可靠性。

weixin_29263201的博客 747

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

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

u012605440的专栏 507

AI重塑运营商CRM:从传统办理到智能推荐的实战经验

本文探讨了AI技术如何重塑运营商CRM系统,从传统办理模式升级为智能推荐平台。文章首先分析了传统CRM系统在产品推荐效率、客户信息录入、业务流程和个性化服务等方面的痛点,提出AI赋能的解决方案。技术架构采用分层设计,包含智能推荐引擎、知识图谱系统和大模型集成三大核心模块。实战案例详细介绍了基于深度学习的智能推荐系统实现,包括用户行为特征提取、产品特征建模、推荐模型训练和实时推荐服务等关键组件代码实现,展示了AI如何提升运营商CRM系统的智能化水平和服务效率。

技术传感器的博客 1048

微信小程序推广策略,打开小程序领域流量大门

本文旨在为小程序开发者、运营者和企业主提供一套完整的微信小程序推广策略体系,帮助他们在竞争激烈的小程序生态中获得更多流量和用户。内容涵盖从0到1的冷启动策略,到成熟期的增长技巧。本文将首先介绍小程序的基础推广设置,然后深入探讨各种流量获取渠道,接着分析数据驱动的优化方法,最后展望未来发展趋势。小程序:无需下载安装即可使用的应用,运行在微信生态内:独立访客数:页面浏览量转化率:完成目标行为的用户比例留存率:用户在一定时间后仍活跃的比例自然流量获取:通过优化搜索、完善资料等方式获得基础流量社交裂变。

小程序开发 1031

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

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

weixin_43663375的博客 154

【学习系列】SAP RAP 7:行为定义-Draft

本文介绍了RAP框架中的草稿表(Draft)功能及其应用。草稿表允许用户临时保存数据,在激活前不影响业务逻辑,支持保存继续、暂存和设备切换功能。草稿分为独占草稿(仅限同一用户编辑)和协作草稿(允许多用户协同编辑)。启用草稿需在行为定义和投影中包含标准action,并创建包含TotalETag等管理字段的草稿表。TotalETag确保草稿转换时活动数据未被修改,而ETagmaster则防止并发修改。文章通过OData调用示例详细说明了ETag验证过程,强调草稿功能由RAP框架自动处理,开发者只需关注定义和配置

DeveloperMrMeng的博客 438

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

基于Spring Boot + Vue 3构建高并发华为数码商城交易平台:全栈架构设计与实现

内容将涵盖系统架构、数据库设计、核心模块开发(用户、商品、订单、购物车)、安全认证、性能优化以及前后端分离部署等关键环节,并提供详尽的代码示例,旨在为开发者提供一个可落地的企业级项目实战指南。<el-button text class="button" @click.stop="addToCart(product)">加入购物车</el-button>.antMatchers("/api/user/login", "/api/user/register").permitAll() // 公开接口。

2201_76125393的博客 306

【Docker】完美解决拉取镜像超时报错:ERROR: Get https://registry-1.docker.io/v2/

因为我们下载的镜像是外网的镜像资源,所以下载的速度会非常的慢,甚至大概率下载时会报错,所以需要我们配置一个国内的服务器镜像地址,国内服务器镜像地址有很多,这里咱们就说一下阿里镜像加速器的配置方法。

liu_chen_yang的博客 12万+

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

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

qq_26621097的专栏 414

visio安装包

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

集合基础知识(Java基础)

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

szm0225的博客 1132

Devexpress16.2.6破解工具

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

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java学习七—集合框架

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

qq_17153885的博客 1329

WINCC7.3破解文件

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

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、付费专栏及课程。

余额充值