Set、Map

本文深入探讨了集合(Set、HashSet、SortedSet、TreeSet)与映射(Map、HashMap、TreeMap)的内部实现原理,包括散列表、二叉树等数据结构的应用,以及ConcurrentHashMap、Hashtable与LinkedHashMap之间的差异。
摘要由CSDN通过智能技术生成

Set

HashSet

散列表,元素不允许重复。
排序方式不是随机排序
原理:需要通过hashCode生成的哈希码定位,若位置上为null,则直接插入元素,反之使用equals方法与之比较,结果为不相同时插入元素。

SortedSet(父接口)/TreeSet

二叉树
其比较方法使用的是Comparable(compareTo)或者Comparator(compare)

Map

HashMap

key无序(HashSet) key不可重复

API

put(K,V):修改或加入键值对,返回被修改的value
remove(K):移除key为K的键值对,返回被移除的value
get(K):获得key为K的value
迭代方法:
entrySet():生成Entry<K,V>的set
keySet():生成key的set
values():生成value的Collection(List)

TreeMap

key是排好序的(TreeSet)
其他与HashMap没有区别

ConcurrentHashMap 和 Hashtable 和 HashMap和LinkedHashMap的区别

(详见收藏)

JavaScript 中的 SetMap 是两种不同的数据结构。 Set 是一种集合,它允许你存储不重复的值。可以用来存储任何类型的值,如数字、字符串、对象等。Set 中的值是无序的,不重复且唯一的。 以下是使用 Set 的示例代码: ```javascript // 创建一个空的 Set let set = new Set(); // 添加元素到 Set set.add(1); set.add('hello'); set.add({name: 'John'}); // 检查元素是否存在于 Set console.log(set.has('hello')); // 输出: true // 获取 Set 的大小 console.log(set.size); // 输出: 3 // 删除元素 set.delete(1); // 遍历 Set set.forEach((value) => { console.log(value); }); // 清空 Set set.clear(); ``` Map 是一种键值对的集合,也可以存储任意类型的值作为键和值。Map 中的键是唯一的,而值可以重复。 以下是使用 Map 的示例代码: ```javascript // 创建一个空的 Map let map = new Map(); // 添加键值对到 Map map.set('name', 'John'); map.set('age', 30); map.set('name', 'Jane'); // 覆盖已有的键 // 获取 Map 的大小 console.log(map.size); // 输出: 2 // 获取特定键的值 console.log(map.get('name')); // 输出: Jane // 检查键是否存在于 Map console.log(map.has('age')); // 输出: true // 删除键值对 map.delete('age'); // 遍历 Map 的键值对 map.forEach((value, key) => { console.log(key, value); }); // 清空 Map map.clear(); ``` 这是关于 JavaScript 中 SetMap 的基本介绍和用法。希望对你有所帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值