day57 集合 List Set Map

List实现类

List接口特点:元素有序 可重复

Arraylist 可变数组

jdk 8 以前Arraylist容量初始值10

jdk8 之后初始值为0,添加数据时,容量为10;

ArrayList与Vector的区别?

LinkList:双向链表

优点:不连续存储,随机添加和删除操作方法

缺点:不连续存储,遍历速度慢

有链表头和链表尾

新增针对链表头和链表尾的操作方法

Set集合及实现类

Set接口 extends Collection 特点:无序 唯一

HashSet

TreeSet

Map集合及实现类

Map集合 以key-value存储数据

key:无序唯一

value:无序可重复

key-value 映射关系唯一

1 添加方法

V put(K key, V value) 将指定的值与此映射中的指定键关联(可选操作)。

2 删除

void clear() 从此映射中移除所有映射关系(可选操作)。

V remove(Object key) 如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。

boolean remove(Object key, Object value) : 仅当指定的密钥当前映射到指定的值时删除该条目。

3 改

V put(K key, V value) 将指定的值与此映射中的指定键关联(可选操作)。

V replace(K key, V value) 只有当目标映射到某个值时,才能替换指定键的条目。

boolean replace(K key, V oldValue, V newValue) 仅当当前映射到指定的值时,才能替换指定键的条目。

4 查:

boolean containsKey(Object key) 如果此映射包含指定键的映射关系,则返回 true。

boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。

V get(Object key) 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。

V getOrDefault(Object key, V defaultValue) : 返回到指定键所映射的值,或 defaultValue如果此映射包含该键的映射。

5 遍历方法

Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射关系的 Set 视图。

Set<K> keySet() : 返回此映射中包含的键的 Set 视图。

Collection<V> values() 回此映射中包含的值的 Collection 视图。

forEach()

6 其他方法

boolean isEmpty() : 如果此映射未包含键-值映射关系,则返回 true。

int size() 返回此映射中的键-值映射关系数。

HashMap

HashMap的初始容量16 加载因子0.75扩容为2为2倍

​​​​​​​ ​​​​​​​ Hashtable初始容量11 加载因子0.75

扩容为2倍+1

HashMap key,value可以为null

HashTable key,value都不可以为null ​​​​​​​ ​​​​​​​

HashMap中的key如何去除重复项?

调用key的hashCode与equals方法

TreeMap:二叉树

左小,右大的方式存储

读取:按中序(左-中-右)

key:通过比较规则,排序并去除重复

注意:key 必须为同一种数据类型的值。不能出现null值

相关推荐
泡泡以安7 分钟前
【Android逆向工程】第3章:Java 字节码与 Smali 语法基础
android·java·安卓逆向
毕设源码-朱学姐6 小时前
【开题答辩全过程】以 工厂能耗分析平台的设计与实现为例,包含答辩的问题和答案
java·vue.js
喵了meme6 小时前
C语言实战4
c语言·开发语言
码界奇点6 小时前
Python从0到100一站式学习路线图与实战指南
开发语言·python·学习·青少年编程·贴图
9ilk6 小时前
【C++】--- 特殊类设计
开发语言·c++·后端
sali-tec7 小时前
C# 基于halcon的视觉工作流-章68 深度学习-对象检测
开发语言·算法·计算机视觉·重构·c#
Spring AI学习7 小时前
Spring AI深度解析(9/50):可观测性与监控体系实战
java·人工智能·spring
java1234_小锋8 小时前
Spring IoC的实现机制是什么?
java·后端·spring
生骨大头菜8 小时前
使用python实现相似图片搜索功能,并接入springcloud
开发语言·python·spring cloud·微服务
绝不收费—免费看不了了联系我8 小时前
Fastapi的单进程响应问题 和 解决方法
开发语言·后端·python·fastapi