哈希表

将一个 Set 集合转换为数组:
int[] array = res.stream().mapToInt(Integer::intValue).toArray();

HashSet

全在Java中,HashSet是一个实现了Set接口的集合类,它基于哈希表实现。下面是HashSet的一些常用方法:

  1. add(E e): 向HashSet中添加元素e(如果成功添加了新元素,则返回true;如果集合中已经存在相同的元素,则返回false)
  2. remove(Object o): 从HashSet中移除元素o。
  3. contains(Object o): 判断HashSet是否包含元素o。
  4. size(): 返回HashSet中的元素个数。
  5. isEmpty(): 判断HashSet是否为空。
  6. clear(): 清空HashSet中的所有元素。
  7. iterator(): 返回在HashSet上进行迭代的迭代器。
  8. toArray(): 将HashSet转换为数组。
  9. equals(Object o): 判断HashSet是否与指定对象o相等。
  10. hashCode(): 返回HashSet对象的哈希码值。
  11. clone(): 创建并返回HashSet的浅表副本。

除了以上这些,HashSet还继承了Set接口和Collection接口的方法。需要注意的是,HashSet不保证元素的顺序,不包含重复的元素。

HashSet的构造方法

  1. HashSet():创建一个空的HashSet。
  2. **HashSet(Collection<? extends E> c)**:创建一个包含指定集合中的元素的HashSet(可以直接传入List集合)。
  3. HashSet(int initialCapacity):创建一个具有指定初始容量的空HashSet。
  4. HashSet(int initialCapacity, float loadFactor):创建一个具有指定初始容量和负载因子的空HashSet。

HashMap

HashMap中的键和值都可以为null
HashMap常用的方法包括:

  1. put(key, value): 添加元素,将指定的键值对存储到 HashMap 中
    (键第一次出现是添加元素,第二次出现就是修改元素,用后面的值把前面的替代掉)
  2. remove(key): 根据指定的键移除对应的键值对(返回要删除的键对应的值)
  3. containsKey(key): 判断 HashMap 中是否包含指定的键(包含就返回true,否则false)
  4. containsValue(value): 判断 HashMap 中是否包含指定的值
  5. size(): 获取 HashMap 中键值对的数量
  6. clear(): 清空 HashMap 中的所有键值对
  7. isEmpty():判断集合是否为空

Map集合的获取功能:
8. get(key): 根据指定的键获取对应的值
9. getOrDefault(Object key, V defaultValue):key是要获取值的键,defaultValue是键不存在时返回的默认值

  1. keySet(): 获取 HashMap 中所有的键 Set< K >
  2. values(): 获取 HashMap 中所有的值 Collection< V >
  3. entrySet(): 获取 HashMap 中所有的键值对 Set < Map.Entry< K,V >>

Map.Entry< K, V > 是Java中表示键值对的接口。
它表示 Map 中的一个条目,包含一个键和对应的值。
Map 接口中的方法 entrySet() 返回一个包含Map中所有条目的Set集合,每个条目都是一个Map.Entry对象。
Map.Entry接口提供了**getKey()getValue()**方法分别用于获取键和值。
可以使用 Map.Entry 对象来遍历Map中的所有条目,或者对Map中的条目进行操作。
Map.Entry接口是泛型接口,可以使用任意类型作为键和值。

Hashtable (是线程安全的) 中的键和值都不可以为null

HashMap构造方法

HashMap的构造方法有以下几种:

  1. HashMap()
  2. HashMap(int initialCapacity)
  3. HashMap(int initialCapacity, float loadFactor)
  4. HashMap(Map<? extends K, ? extends V> m)

其中:

  • 第一种构造方法创建一个默认初始容量(16)和默认加载因子(0.75)的HashMap。
  • 第二种构造方法创建一个指定初始容量的HashMap。
  • 第三种构造方法创建一个指定初始容量和加载因子的HashMap。
  • 第四种构造方法创建一个包含指定Map中所有映射关系的HashMap。
Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2023-2025 Annie
  • Visitors: | Views:

嘿嘿 请我吃小蛋糕吧~

支付宝
微信