java--集合相关

解决RK3566 USB OTG模式识别问题:从原理图分析到otg_mode文件操作全解析 本文深入解析RK3566 USB OTG模式识别问题,从硬件原理图设计到Linux内核的otg_mode文件操作,提供全面的调试方案。针对USB_OTG0_ID引脚电路设计、电源管理关联及内核驱动交互等关键点,给出实战调试技巧和常见问题解决方案,帮助开发者高效解决USB OTG模式切换难题。 阅读详情

 

数组工具类  Arrays  

Arrays .sort 排序方法(底层是一个性能优于冒泡排序的算法)

Arrays .binarySearch二分查找方法

Arrays .asList(1,2,3...) 接受一个可变参数生成一个list集合

集合的长度是可变的,集合本身是一个存储容器,集合的存、取,集合自己的本身特性
集合类的顶级接口  Collection<E> 、Map两个派系


一、Collection<E>

下面挨个探讨一下Collection接口中的基本方法:

1、添加方法:

    方法a:  boolean add(object e);  一次添加一个元素

    方法b: boolean addAll(Collection c);   将一个参数容器中的元素添加到当前容器中

2、删除方法:

      方法a:  boolean remove(object e);   删除一个遇到的指定对象

      方法b: boolean removeAll(Collection c);删除指定的Collection中和本Collection中相同的元素

      方法c:void clear();直接将集合中的元素清空

3、判断方法:

   方法a: boolean contains(object e);  是否包含指定元素

   方法b:boolean containsAll(Collection c); 是否包含指定容器中的元素

   方法c:Boolean isEmpty();  判断是否有元素

4、获取元素个数的方法:

   int size(); 获取元素的个数

5、取交集的方法:

 

   Boolean retainAll(Collection c);保留和指定collection集合中相同的元素,不相同的元素会被删除

Collection下的List接口

List 里面的允许存取重复元素,有序的集合(存进去1,2,3取出来也是1,2,3) ,有索引(带有索引的操作要防止下标越界)
set  里面不允许存取重复元素,无序集合
两个派系: 1)List接口实现类:   1.ArrayList类 2.LinkedList

List接口中的特有方法:  add(int index ,xx);将制定元素插入到制定索引

                                     get(int index,xx);传一个索引给指定索引的值

                                     remove(int index);删除指定索引上的元素,返回被删除之前的元素!

                                     set(int index ,xx):修改指定元素,返回修改之前的元素!

                                    当迭代器操作集合,不允许操作集合的长度!不允许进行增、删操作!

List存储数据结构:

1.堆栈:在内存中开辟堆栈空间,先进后出

2.队列:先进先出

3数组:查找速度快,可以快速访问指定位置的元素(内存地址也是连续的),增删慢,破坏原有的结构(增删的时候创建新数组再把数据添加到指定位置)

4.链表(对各节点之间通过地址记录链接内有内存上的关系)查找速度慢:内存地址不是连续的

增删速度快:不需要破坏原来的结构

1)List集合:

  1.ArrayList 2.LinkedList

  1.ArrayList 实现类 

 可以存引用类型,本身是一个可变数组,父类List,Collection的实现类

  此实现是不同步的, 线程是不安全的,运行速度特别快,允许存储null值

 2. LinkedList 实现类

  父类List,Collection的实现类 底层 链表结构实现查询慢,增删快(不需要动列表结构)  此实现是不同步的, 线程是不安全的,允许存储null值

Vector 集合:存储结构是数组实现了List接口,是线程安全的集合,运行速度慢!

 2)Set接口

   set集合是没有索引的,不允许存储重复元素Set接口和Collection接口方法一样

    1.HashSet  2.LinkedHashSet   

   1.HashSet实现类:

    实现set接口有哈希表(实际是HashMap实例)无序集合(存储和取出的顺序不同,不存储重复元素),可以存null元素

    底层结构:哈希表(链表数组结合体每个数组都没有索引)  特点:存储取出都特别快,线程不安全,运行速度比较快;

    存数据的时候把对象地址存取在数组中,下一对象可能会放到上一个元素下面形成一个链表结构,也可能直接存到数组当中

     底层还会根据元素的大小自动进行扩容;

    存储数据的时候,会先调用对象的哈希值,拿到哈希值会在容器中搜索有没有一样的哈希值,如果没有这个对象就存道数组中,            如 果有相同的哈希值,集合会让后来方法调用equals方法与哈希值一样的对象比较,结果如果是true,则元素重复后来的对象就存      不进去;结果如果是false(两个对象的哈希值相同,equals对比为false),就会采用桶的存储方式存储到对象后面让前一个对象记住      自己的地址

LinkedHashSet实现类;

基于双向链表的哈希表实现,保证迭代的顺序线程不安全集合;

添加:

ArrayList 可以使用contains方法判断元素是否存在;

HashSet 可以使用add()方法返回值判断,也可已使用contains方法判断;

重写HashCode和equals方法是保证数据的唯一性:

 

二、Map<k,v>

Map集合(双列集合:映射关系的键值对):

       HashMap<K,V>

           不允许出现重复的key键,可以允许相同的值出现,线程不安全集合,运行速度快, HashMap允许存储Null值,null键

           常用方法:  将键值对k,v存储到集合当中  put(key,vule);Key作为键的对象,Vule作为值得对象

           键的对象为字符串可以保证唯一性

        LinkedHashMap

              继承HashMap 保证迭代顺序(有序的)也是线程不安全

       HashTable底层数据结构是哈希表,特点和HashTable线程安全集合运行速度慢

           HashTable不允许存储Null值,null键

     

ESP32学习笔记03-日志打印 日志分为5个等级。 阅读详情

相关推荐

matlab相机标定_实战 | 相机标定

点击“计算机视觉life”关注,置顶更快接收消息!本文阅读时间约5分钟什么是相机标定?我们为什么需要相机标定?相机标定就是确定相机内参和外参的过程,其结果精度会直接影响视觉系统后续工作的准确性。坐标系相机标定涉及到了四大坐标系,分别为:像素坐标系图像物理坐标系相机坐标系世界坐标系为了进行相机标定,必须已知世界坐标系中足够多的三维空间点坐标,找到这些空间点在图像中投影点的二维图像坐标,并建...

weixin_39747334的博客 763

java集合(超详细)

所有的集合类和集合接口都在java.util包下。 在内存中申请一块空间用来存储数据,在Java中集合就是替换掉定长的数组的一种引用数据类型。

zdl66的博客 6万+

内网环境下的高德地图离线化实战:从瓦片下载到交互功能集成

本文详细介绍了在内网环境中部署离线高德地图的完整实战方案。针对军工、能源、金融等对网络隔离与数据安全有严格要求的场景,文章核心解决了离线地图的两大基石:地图瓦片数据的高效下载与本地化,以及高德地图JS API的获取与插件集成。通过具体代码示例,进一步讲解了如何实现地图初始化、海量点标注与聚合、自定义图标及框选查询等核心交互功能,并分享了内网部署的路径配置、性能优化及法律合规等关键注意事项,为开发者在封闭网络环境下构建稳定、可控的地图应用提供了清晰指南。

Apple的专栏 393

JAVA集合(含List、Map、Set)(超详细版)

java集合可分为Set、List、Queue和Map四种体系。set代表无序、不可重复的集合List代表有序、重复的集合而Map则代表具有映射关系的集合Queue代表一种队列集合实现Java集合就像是一种容器,可以把多个对象(实际上是对象的引用,但习惯上都称对象)“丢进”该容器中。从Java5 增加了泛型以后,Java集合可以记住容器中对象的数据类型,使得编码更加简洁、健壮。2.集合和数组的区别长度区别:数组的长度固定,而集合长度可变。

rc1596919047的博客 2万+

浅谈Android MVI架构---大自然的搬运工~~~

浅谈 Android MVI架构

hong_world的博客 2152

别让你的URDF模型在Gazebo里‘躺平’:手把手教你配置libgazebo_ros_diff_drive插件让两轮小车动起来

本文详细解析了如何在Gazebo中配置libgazebo_ros_diff_drive插件,使两轮小车模型实现动态仿真。从URDF模型到传动装置,再到差速驱动插件的精细调参,手把手教你解决机器人‘躺平’问题,提升ROS1与Gazebo仿真的实战能力。

weixin_42552716的博客 333

Java中的集合

java-api,day01

weixin_52071901的博客 8768

华为设备有关用户名密码的策略配置

命令用来开启对密码进行复杂度检查功能,设备默认已经是开启状态。1、密码长度大于等于12位,含数字大小写字母和特殊符号。2、设置密码更换周期为90天。取值范围8-16,默认长度为8位。登录失败后锁定时间大于15分钟。3、登录失败次数小于5次。4、登录超时30分钟以内。

简单的创作,希望可以帮助到跟我一样的学习者! 7839

Java集合全解【完整版】

Java集合:单列集合、双列集合等接口及实现子类原理、方法讲解

Lov1_BYS的博客 1万+

GEE案例:计算区域生态总体脆弱性分析

计算区域生态总体脆弱性分析需要考虑多个指标和因素。下面是一个基本的方法:选择指标:选择一组能够反映区域生态系统脆弱性的指标。这些指标可以包括生物多样性指数、森林覆盖率、湿地保护率、土地退化程度等。为每个指标分配权重:为了使得各指标在计算中的重要性相对均衡,可以为每个指标分配一个权重。权重可以根据各指标的重要性和可利用的数据进行确定。数据收集和处理:收集每个指标的数据,并对其进行处理,确保数据的准确性和一致性。如果有需要,可以对数据进行归一化处理。计算指标值:根据收集的数据和权重,计算每个指标的值。

此星光明博客 464

14 硬件工程师笔面试高频考点真题解析——逻辑门

逻辑门是数字电路的基本单元,实现布尔运算(如与、或、非、异或等)。OC门(集电极开路)和OD门(漏极开路)需外接上拉电阻,支持“线与”逻辑,适用于I2C总线等场景,避免推挽输出并联导致的短路问题。三态门具有高、低、高阻三种状态,用于总线分时复用。推挽输出因内置上下管,禁止并联,否则会引发电源短路。三者区别在于:推挽驱动强但不可并联;OC/OD需上拉,支持线与;三态门通过使能控制实现高阻隔离,适用于共享总线设计。

XU157303764的博客 1897

java集合详解(长达两万字)

collection接口和Map接口详解(包含底层源码解析)

晚笛的博客 9123

PLC凸轮开关指令编程应用——控制算法

凸轮开关指令的作用是在PLC程序中根据凸轮开关(Cam Switch)的状态执行不同的操作。凸轮开关通常是机械式的开关装置,它的位置会随着机械运动的变化而改变。凸轮开关的状态可以用来检测机器的位置、角度或其他相关信息,从而触发相应的控制动作。总结起来,凸轮开关指令是PLC编程中常用的一种控制算法,通过检测凸轮开关的状态来触发相应的操作。本文将介绍凸轮开关指令的应用和相应的控制算法,并提供相关的源代码示例。在这个示例中,凸轮开关状态的值代表不同的位置,根据凸轮开关状态的不同,执行相应的动作。

LiJavascript的博客 1034

java集合相关_java集合相关

集合类存放于java.util包中首先需要说的是CollectionCollection是集合的基本接口,List、Set、Queue就继承于Collection接口(Map没有)。java的集合主要有三种:Set,List和Map先说Collection系的三个:Set,List与Queue,这里列出他们的常用接口及其实现类Set(集)Set具有与Collection完全一样的接口,因此没有任何...

weixin_35741582的博客 220

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

VC中sqlite的使用

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

java集合相关知识

java集合相关知识

xgq_111的博客 513

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Java基础知识点——集合相关

Java集合框架是一个用于存储和操作数据的架构,提供了一组接口和类来处理数据的集合。集合框架的主要目标是简化数据的存储和操作,提高代码的可读性和可维护性。在使用TreeSet或TreeMap时,需要实现Comparable接口或提供Comparator。Comparable接口的方法用于定义对象的自然顺序。Comparator接口的方法用于定义自定义排序逻辑。

两点 1028

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java中跟集合相关_java集合相关

集合类存放于java.util包中首先需要说的是CollectionCollection是集合的基本接口,List、Set、Queue就继承于Collection接口(map没有)。java的集合主要有三种:Set,List和MapSet(集)Set具有与Collection完全一样的接口,因此没有任何额外的功能。实际上Set就是Collection,只是行为不同。(这是继承与多态思想的典型应用:...

weixin_34993796的博客 86

Java之集合(最全集合相关知识)

集合集合一、集合概述1、为什么要学习集合?2、定义3、说明4、注意5、集合分类5.1 单列集合Collection5.2 双列集合Map二、Collection接口1、相关方法三、List接口1、List接口简介1.1 定义1.2 特点1.3 List集合常用方法1.4 相关代码四、ArrayList集合1、说明2、特点3、优缺点4、相关代码五、LinkedList集合1、说明2、特点3、优缺点4、相关代码六、Iterator遍历集合1、定义2、示例3、成员方法七、foreach遍历集合1、定义2、语法3、

熊凯瑞的博客 6633

java集合 相关知识

集合框架 ArrayList 和 Vector 的区别。 这两个类都实现了 List 接口(List 接口继承了 Collection 接口),他们都是有序集 合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我 们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是 HashSet 之类的集合的最大不同处,HashSet 之类的集合不可以按索引号去检索其 中的元素,也不允许有重复的元素(本来题目问的与 hashset 没有任何关系,但为了 说清楚 ArrayList

paul030303的博客 130

Java集合相关的总结

集合相关 一.集合结构框架图 图解:虚线边框是接口,长虚线边框是抽象类,实线边框是实现类 简化图: 二.List接口实现类(ArrayList、LinkedList、Vector、Stack)详解,此接口特性有序可重复 ArrayList类 JDK1.2版本提出 1.1所在包:java.util包 1.2构造方法 1.2.1 ArrayList(),构建一个容量为10的列表 1.2.2...

qq_35092730的博客 182

java集合相关

1.2java集合框架 1.2.1Arraylist与LinkedList异同 1.是否保证线程安全:ArrayList和LinkedList都是不同步的,也就是不保证线程安全的; 2.底层数据结构:Arraylist底层使用的是Object数组;LinkedList底层使用的是双向链表数据结构(JDK1.6之前为循环链表,JDK1.7取消了循环。注意双向链表和双向循环链表的区别,详细可读http...

LALALA3_3的博客 308

Java中集合相关

Java中集合相关 Java中的集合分为value, key-value(Collection Map)两种。 存储值有分为List和Set. ​ List是有序的,可以重复的。 ​ Set是无序的,不可以重复的。根据equals和hashcode判断,也就是如果一个对象要存储在Set中,必须重写。quals和hashCode方法。 存储key-value的为map. ArrayLis...

MrsRobot的博客 235

Java集合相关知识点

1.什么是集合集合就是一个放数据的容器,准确的说是放数据对象引用的容器。集合类存放的都是对象的引用,而不是对象的本身。集合类型主要有3种:set(集)、list(列表)和map(映射。

m0_52514893的博客 153

java集合相关知识点

babylorin的博客 441

Java集合相关学习

数组(Array)是一种用连续的内存空间存储相同数据类型数据的线性数据结构。,计算下标的内存地址效率较高查找的时间复杂度随机(通过下标)查询的时间复杂度是O(1);查找元素(未知下标)的时间复杂度是O(n);查找元素(未知下标但排序)通过二分查找的时间复杂度是O(logn);插入和删除时间复杂度,插入和删除的时候,为了保证数组的内存连续性,需要挪动数组元素,平均时间复杂度为O(n)适用于需要灵活管理元素的场景,例如列表数据的动态维护。

weixin_74236078的博客 639

Java集合相关面试题

因为链表中的数据并非连续存储的,所以无法像数组那样,根据首地址和下标,通过寻址公式就能直接计算出对应的内存地址,而是需要根据针一个结点一个结点地依次遍历,直到找到相应的结点,所以,链表随机访问的性能没有数组好,查询的时间复杂度是O(n)。假设有100个人参加马拉松,不采用1-100的自然数对选手进行编号,编号有一定的规则比如:2022ZHBJ001,其中2022代表年份,ZH代表中国,BJ代表北京,001代表原来的编号,那此时的编号2022ZHBJ001不能直接作为数组的下标,此时应该如何实现呢?

XING的博客 1351
上一篇: springmvc--spring中事务控制
下一篇: idea--快捷生成for循环代码块
别浪呀
博客等级 码龄8年 1万+粉丝 260原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值