java——双列集合
1.java键盘录入2.JAVA运算符详解3.流程控制语句 ——if语句4.JAVA中switch语句格式5.JAVA中的for循环和while循环详解6.JAVA随机数的使用7.JAVA中的内存分配8.JAVA方法详解9.JAVA中的数组详解10.JAVA中字符串的常用方法11.JAVA中的两个容器StringBuilder和StringJoiner概述12.JAVA中ArrayList集合详解13.JAVA中的static关键字14.JAVA——继承详解15.JAVA 多态详解16.JAVA 多态详解17.Java中的包18.Java中的final,权限修饰符与抽象类19.JAVA中的接口详解20.JAVA的内部类21.java中的常用类及常用方法22.正则表达式23.Java中的爬虫24.JAVA——时间类25.JAVA——包装类及Integer的成员方法26.算法总结27.Arrays ——操作数组的工具类28.Lambda表达式29.集合体系结构30.JAVA之树的详解31.Set系列集合
32.java——双列集合
33.stream流的思想34.JAVA入门——方法引用35.JAVA——异常36.File --JAVA-
双列集合一次需要存一对数据,分别为键和值
-
键不能重复
-
键和值是一一对应的,每一个键只能找到自己对应的值
-
键+值这个整体我们称之为“键值对”或“键值对对象”Entry对象
方法名 | 说明 |
---|---|
V put(k key,v value) | 添加元素 |
V remove(Object key) | 根据键删除键值对元素 |
void clear() | 移除所有的键值对元素 |
boolean containskey(Object key) | 判断集合是否包含指定的键 |
boolean containsValue(Object value) | 判断集合是否包含指定的值 |
boolean isEmpty() | 判断集合是否为空 |
int saze() | 集合长度,也就是键值对个数 |
Map遍历
-
HashMap底层是哈希表结构的
-
依赖hashCode方法和equals方法保证键的唯一
-
如果键储存的是自定义对象,需要重写hashCode和equals方法
-
如果值存储的时自定义对象,不需要重写hashCode和equals方法
LinkedHashMap
有键决定的:有序,不重复,无索引
这里的有序是指保证存储和取出的元素顺序一致
原理:底层数据结构依然是哈希表,只是每个键值对又额外的多了一个双链表的机制记录存储的顺序
TreeMap
TreeMap跟TreeSet底层原理一样,都是红黑树结构的
由键决定特性:不重复,无索引,可排序
可排序:对键进行排序
TreeMap默认按照间的从小到大进行排序,也可以自己规定的排序规则
代码书写两种排序规则
-
实现Comparable接口,指定比较原则
-
创建集合时传递Comparator比较器对象,指定比较规则
可变参数
-
可变参数本质就是一个数组
-
作用:在形参中接收多个数据
-
格式:数据类型 ....参数名称 例int.....a
-
注意:1.形参列表中可变参数只能有一个 2.可变参数必须放在形参列表的最后面
Collections
-java.util.Collections:是集合工具类
作用:Collections不是集合,而是集合工具类
方法 | 说明 |
---|---|
public static< T >boolean addAll(Collection< T > c, T.....elements) | 批量添加元素 |
public static voidshuffle(List< ? > list) | 打乱LIst集合元素顺序 |
public static < T > void sort(List< T >list) | 排序 |
public static < T > void sort(List, Comparator< T > c ) | 根据指定的规则排序 |
public static < T > int binarySearch(List< T >,T key) | 二分法查元素 |
public static < T > void copy(List< T >dest,LIst< T > src) | 拷贝集合中的元素 |
public static < T > int fill(List< T >list,T obj) | 使用指定的元素填充集合 |
public static < T > void max/min(Collection< T > coll) | 根据自然排序获取最大/小值 |
public static < T > void swap(List< ? > list,int i,int j) | 交换集合中指定位置元素 |
集合进阶
不可变集合:不可以被改变的集合
特点:定义后不可以修改或添加,删除
如何创建不可变集合
LIst Set和Map集合中,都存在of方法可以创建不可变集合
-
List:直接用
-
Set:元素不能重复
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?