java中集合(二)

[java][基础]集合(二) 底层数据结构是哈希表存取无序不可以存储重复元素没有索引,不能使用普通for循环遍历Map集合概述interface Map K:键的类型;V:值的类型Map集合的特点双列集合,一个键对应一个值键不可以重复,值可以重复Map集合的基本使用//创建集合对象//V put(K key, V value) 将指定的值与该映射中的指定键相关联map.put("itheima001","林青霞");map.put("itheima002","张曼玉"); 阅读详情

一、Map接口

1.Map接口是存储一组成对出现的键(key)---- 值(value)对象。

2.Map接口中的key集无序,唯一,可以为空null,也就是只有一个键集为空,如果有重复的后面的会覆盖前面的。value集无序,允许重复。

3.Map接口得到常用方法

方法说明
Object put(Object key,Object value)将相互关联的一个key键与一个value值放入该集合,如果该Map接口中已经包含了key的value,那么旧的value值就会被覆盖!
Object remover(Object key)移除key键
Object get(Object key)

获得key键集相关的value值,如果该key不关联任何非null值,则返回非null.

boolean containsKey(Object key)判断该集合中是否存在key
boolean containsValue(Object value)

判断该集合中是否存在value

boolean isEmpty()判断该集合中是否存在元素
void  clear()清除集合中的所有元素
jint size()返回集合中元素的数量
Set keySet()获取所有的key键集的集合,
Collection values()获取所有的value的集合

2.使用HashMap类动态存储数据

Map接口中最常用的实现类是HasMap类,它的优点是查询指定元素效率高。

可以通过遍历循环的方式Map集合:可以通过iterator接口迭代器迭代的方式,增强for循环,还有键值-对的形式。

注意:数据添加到HashMap集合后,所有的数据都转换成Object类型,那么从中拿出来的时候就需要进行强制类型转换。

还有HashMap集合类不能够保证映射的顺序,因为他的键值是无序的!

二、Collections类

Collections类是java中提供的一个集合操作工具类,可以对集合中元素的排序,查找,和替换等操作。

注意:Collectons类和Collection接口是不同的,前面的是操作类,后面的集合接口。

1.对集合中元素的排序和查找:

要想进行元素之间的排序,就需要知道元素的大小,在java中要实现对象之间的比较大小,那么这个类需要实现Comparable接口。这个接口能够强行对实现他的每个类进行整体排序,也叫做自然排序,其中的方法是compareTo()方法叫做自然比较方法。

语法如下:int  compareTo(Object obj);

  • 参数:obje 就是要比较的对象
  • 返回值:负整数表示对象是小于,0是等于,整数是大于。

实现此接口的对象,可以通过Collections.sort()方法和Arrays.sort()方法进行自动排序。

注意:Map接口是无序的,所以不能对Map接口做排序操作。但是List接口是有序的,所以可以对List接口进行排序,但是List接口中存放的元素,必须是实现了Comaparable接口的元素才可以!

2.替换元素

使用Collections类的静态方法fill()方法来实现。

三、泛型

泛型:泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数,是代码可以应用于多种类型。

使用泛型的好处:

  • 可以保证数据存取的安全性
  • 因为不需要类型的强制转换,简化代码,提高了代码的重用率。

泛型的定义:简单的讲是,将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性。

泛型的使用:

ArrayList <String> list=new ArrayList<String> ();

 

 

 

 

java集合框架(二)——Map集合 Map集合称为双列集合,格式:{key1=value1,key2=value2,key3=value3,… 阅读详情

相关推荐

如何下载安装Qt各个版本?(2025-4-28更新)

本文将教您快速获取Qt各版本安装包!妈妈再也不用担心我找不到Qt安装包了!

程序区 5119

SCALA中集合常用函数大全(二)

1.reduce函数 用法:对集合中的元素进行累加的操作,如果是字符串则是对字符串的拼接 //reduce函数 //先定义一个集合 val ls = List(1, 5, 9, 8, 6, 3) val i = ls.reduce(_ + _)//这个方法是默认从左边开始累加 (((1+5)+9)+8)+6 val i1 = ls.reduce(_ - _)//这个方法是默认从左边开始累减 (((1-5)-9)-8)-6 val i2 = l

Fresh_man888的博客 1079

ubuntu 24.04安装ros1 noetic

上面是参考链接给的修改内容。除了上面要修改的地方,我在编译的生活还有一个地方报错,修改成如下形式。因为我已经对文件rosconsole_log4cxx.cpp作了上面的修改,所有是不是188行不太确认了,如果报“log4cxx::spi::LocationInfo”问题,按照下面修改就可以了。我在编译时还报了一个问题,就是我之前安装的是jazzy。所以在编译时会报ros变量名不对,这时对变量名做修改就可以了。具体怎么修改,百度。a、将源文件中所有CMakelist中编译标准改为c++ 17.

yangpan011的博客 3203

java array 元素的位置_JAVA集合类,有这一篇就够了

在使用Java的时候,我们都会遇到使用集合(Collection)的时候,但是JavaAPI提供了多种集合的实现,我在使用和面试的时候频频遇到这样的“抉择” 。 :)(主要还是面试的时候)久而久之,也就有了一点点的心得体会,写出来以供大家讨论 。总的说来,Java API中所用的集合类,都是实现了Collection接口,他的一个类继承结构如下:CollectionCollectionCollec...

weixin_39569747的博客 385

如何在R语言中使用Logistic回归模型

在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价、身高、GDP、学生成绩等,发现这些被预测的变量都属于连续型变量。然而有些情况下,被预测变量可能是二元变量,即成功或失败、流失或不流失、涨或跌等,对于这类问题,线性回归将束手无策。这个时候就需要另一种回归方法进行预测,即Logistic回归。 在实际应用中,Logistic模型主要有三大用途: 1)寻找危险因素,找到某些影响...

weixin_34056162的博客 9552

【11】科曼医疗——科曼医疗 嵌入式--面试,校招,面试问答记录

科曼医疗嵌入式校招面试记录:3位面试官分别考察应用层技术、底层技术和HR面。技术问题涵盖C++特性(多态、虚函数、指针与引用区别)、内存管理(malloc与new对比)、嵌入式基础(51最小系统、IIC/SPI协议)及项目经验(智能黑板擦专利项目)。同时考察了Linux使用经验、STM32开发及嵌入式操作系统认知。最后环节应聘者询问了开发环境及面试流程。面试内容全面覆盖嵌入式开发核心知识点。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1250

Java集合—Map系列集合(习题二)

4.现在有一个map集合如下: Map map = new HashMap(); map.put(1, "张三丰"); map.put(2, "周芷若"); map.put(3, "汪峰"); map.put(4, "灭绝师太"); 要求: (1)遍历集合,并将序号与对应人名打印。 (2)向该map集合中插入一个编码为5姓名为李晓红的信息

Java技术加油站的博客 502

路径跟踪 | 图解纯追踪算法Pure Pursuit(附ROS C++/Python/Matlab仿真)

纯追踪算法(Pure Pursuit)参考了人类驾驶行为,其基本思想是在待跟踪路径上设置预瞄点(goal-ahead),通过简单的几何方法驱动机器人跟踪预瞄点直至抵达目标位置.本文详细推导纯追踪算法的理论原理及其变种——自适应纯追踪算法(APP)和规范化纯追踪算法(RPP),并提供ROS C++/Python/Matlab三种仿真实现加深理解

FRIGIDWINTER的博客 8408

Java集合(二)

泛型:不明确具体类型,直到接收到具体类型再进行推导统一数据类型,防止使用时出现的数据类型转换异常定义带泛型的类,方法等,使用的时候给泛型确定什么类型,泛型就会自动推导为对应类型,使代码更灵活定义泛型的类:在类名后面添加<T>,其中<>表示泛型,T为泛型名,类似于变量名,对于类泛型来说,当该类实例化出对象时,泛型就会被替代为指定类型,格式如下:public class 类名 <T> {// 成员//定义一个数组,充当ArrayList底层的数组,长度直接规定为10。

小何代码咖啡馆 1104

Jetson 平台编译安装 FFmpeg 7.1(支持 Nvmpi + SRT + x265)

摘要: 本文详细介绍了在NVIDIA Jetson平台上编译FFmpeg 7.1并集成关键功能的全过程。通过补丁方式加入Nvmpi实现硬件加速支持,同时编译集成x265编码器和SRT低延迟传输协议。步骤涵盖:1)安装x265编码器;2)配置SRT协议支持;3)编译jetson-ffmpeg的Nvmpi接口;4)定制化编译FFmpeg 7.1;5)验证模块集成情况。最终实现支持硬件编解码、高效HEVC压缩和可靠推流的增强版FFmpeg,为Jetson平台的音视频处理提供完整解决方案。

J。 345

uniapp - 如何跟内嵌 web-view 组件内的网页交互,与 web-view 内嵌网页进行双向通信(uniapp 与 webview 网页之间的 “相互“ 传值)提供详细的示例代码及解决方案

uni-app如何实现在H5环境中与web-view中的网页交互通讯uniappuni-app 与 web-view内嵌网页 双向通信 如何跟内嵌web-view交互uniappAPP与webview子页面交互uniappAPP与webview子页面交互关于uni-app 使用 web-view 页面之间互相跳转、通信等问题uniapp的web-view嵌入网页,网页与uniapp通信webview如何与uniapp写的H5页面交互嵌套webview调用uniapp各种API组件实现H5和app通讯和交互

✅ 精选推荐文章 1万+

Java集合详解(二)

Java集合详解(二) ArrayList,LinkedList,Vector的常用方法 ArrayList: add(Object element): 向列表的尾部添加指定的元素。 clear() :从列表中删除所有元素。 contains(Object o) :如果此列表包含指定的元素,则返回 true 。 get(int index) 返回此列表中指定位置的元素。 isEmpty() :如果此列表不包含元素,则返回 true 。 iterator() :以正确的顺序返回该列表中的元素的迭代器。 rem

weixin_45836302的博客 356

支付域——“清算、结算、清结算”

本文深入探讨了支付系统中的清算和结算流程,包括核心流程、模块设计及特殊场景处理。文章详细阐述了交易收单、资金冻结、清分规则、清算批处理、结算出账等关键步骤,并讨论了交易失败、数据不一致、退款、汇率波动等异常情况的处理方法。

庄小焱 2559

二、Java集合

文章目录二、Java集合2.1 Java中常见的集合2.2 HashMap和Hashtable的区别有哪些? Github地址 优快云地址 二、Java集合 Java中的集合,从上层接口看分为两类,Map和Collection,而Collection又分为Set和List 2.1 Java中常见的集合 Map接口和Collection接口是所有集合框架的父接口 Collection接口的子接口包括:Set接口和List接口 Map接口的实现类主要有:HashMap、TreeMap、Hashtable、L

叶晓默 412

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java-NC221_集合的所有子集(二)

java-NC221 集合的所有子集(二)

d3y1`5 81_09 195

efm32 入门.pdf

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

java集合进阶二

双列集合双列集合MapAPIMap是双列集合的顶层接口,它的功能是全部双列集合都可以继承使用的put在加数据的时候,如果键不存在,那么直接把键值对对象添加到map集合当中,方法返回null在添加数据的时候,如果键是存在的,那么会把原有的键值对对象覆盖,会把被覆盖的值进行返回remove返回删除的值。

2302_79885863的博客 595

VC中sqlite的使用

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

Java系列集合二

Java系列集合原理学习

linwq8的博客 1233

java集合系列二:Collection

Collection的继承关系如下: Collection 集合层次的根接口,对集合一些常用方法的高度抽象,此接口通常用于需要最大通用性的情况下实现,但是JDK并没有提供此接口的任何直接实现,它提供了更具体的子接口如Set和List实现! Collection接口是list和set的顶级接口,其抽象了一些常用的公共方法,实现了Iterable接口,实现该接口以保证子类可以获取集合中元素的迭代器...

duo_shine的博客 225

JAVA学习之路(二)——JAVA集合

JDK1.8 以后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为 8)(将链表转换成红黑树前会判断,如果当前数组的长度小于 64,那么会选择先进行数组扩容,而不是转换为红黑树)时,将链表转化为红黑树,以减少搜索时间。JDK 1.8 版本的时候做了优化,当一个链表的长度超过8的时候就转换数据结构,不再使用链表存储,而是使用红黑树,查找时使用红黑树,时间复杂度O(log n),可以提高查询性能,但是在数量较少时,即数量小于6时,会将红黑树转换回链表。的主体,链表则是主要为了解决哈希冲突而存在的。

m0_46747954的博客 1150

java集合二

集合二 List遍历 for循环遍历 增强for循环(不支持在遍历是删除数组,如果删除会抛出并发修改异常) 迭代器 调用Iterator()返回一个迭代器 listIterator 调用previous方法逆序遍历 Set接口 Set接口继承于Collectionjiekou set中存储的元素是不重复的,无序的,set中的元素没有索引 实现类 Hashset类 方法 .add .clear .contain 如果包含指定元素,返回true

m0_53759414的博客 1167

java集合【二】

1、java容器:2个 Collection:存储对象的集合 Map:存储着键值对(两个对象)的映射表 collection 1. Set TreeSet(有序,唯一): 基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。 但是查找效率不如 HashSet,HashSet 查找的时间复杂度为 O(1),TreeSet 则为 O(logN)。 HashSet(无序,唯一): 基于哈希表实现,支持快速查找,但不支持有序性操作。 并且失去了元素的插入顺序信息,也.

热爱是把一件事做到极致 256

二.JAVA【集合】

文章目录集合框架的优点?集合框架中的泛型有什么优点?JAVA集合框架的基础接口有哪些?为什么Map接口不继承Collection接口?Collection和Collections的区别?集合里面的通用算法有哪些?集合框架等数据接口什么是迭代器(Iterator)?Iterator和ListIterator的区别是什么?快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?如何删除List中的某个元素?Enumeration和Iterator接口有什么不同?Iterator接口的具体实现

qq_37629227的博客 864

JAVA集合类型(二)

JAVA集合类型 (现代的变量集群)  List (接口)     特点: a. 先后顺序敏感,LIST结构中的元素必须分出谁先谁后。 b. 可以重复         主要用来模拟队列(queue)等生活中对先后顺序敏感的应用场景。            ArrayList (以数组为基础实现)             数组在使用上较为麻烦,ArrayList是一个类,其对

明耀先森 622

Java集合二

可以通过构造器指定。列表的迭代器,允许程序员在任一方向遍历列表,在迭代期间修改列表,并获取迭代器在列表中的当前位置。将指定集合中的所有元素附加到此列表的末尾,按照指定集合的迭代器返回的顺序(可选操作)。返回此集合中大于或等于给定元素的最小元素,如果没有这样的元素,则null。返回此集合中小于或等于给定元素的最大元素,如果没有这样的元素,则null。返回此集合中严格大于给定元素的最小元素,如果没有这样的元素,则null。返回此集合中严格小于给定元素的最大元素,如果没有这样的元素,则null。

diskindom的博客 81

java集合类详解二

Set,List,Map的区别 java集合的主要分为三种类型: Set(集) List(列表) Map(映射) 要深入理解集合首先要了解下我们熟悉的数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本...

王强的专栏 410
上一篇: java集合框架(一)
下一篇: java中的实用类(一)
海山的蓝
博客等级 码龄9年 36粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值