HashMap 映射

简介: 问:java中Map与HashMap 的关系是什么? 答:Map是一个接口,HashMap是Map的实现类之一。 Entry 与 Map  java.util.Map.Entry<K, V>  interface Entry<K,V>  类似于cpp中的pair。  template<class _T1, class _T2>     st

微笑问:java中Map与HashMap 的关系是什么?
答:Map是一个接口,HashMap是Map的实现类之一。

微笑Entry 与 Map

 java.util.Map.Entry<K, V>
 interface Entry<K,V>
 类似于cpp中的pair。 
template<class _T1, class _T2>
    struct pair
    {
      _T1 first;
      _T2 second;
    }
都是map容器的基本元素。拥有的函数有:
  K getKey(); V getValue(); V setValue(V value); boolean equals(Object o);

HashMap中的键类型与值类型都必须为引用类型而不能为基本类型。(好坑啊)

已有的键值对放进去不会报错.
已有的键,放不同的值,新来的会覆盖掉以前的.


各种成员方法:

Modifier and Type Method and Description
void clear()
Removes all of the mappings from this map.
Object clone()
Returns a shallow copy of this HashMap instance: the keys and values themselves are not cloned.
boolean containsKey(Object key)
Returns true if this map contains a mapping for the specified key.
boolean containsValue(Object value)
Returns true if this map maps one or more keys to the specified value.
Set<Map.Entry<K,V>> entrySet()
Returns a Set view of the mappings contained in this map.
V get(Object key)
Returns the value to which the specified key is mapped, or null if this map contains no mapping for the key.
boolean isEmpty()
Returns true if this map contains no key-value mappings.
Set<K> keySet()
Returns a Set view of the keys contained in this map.
V put(K key, V value)
Associates the specified value with the specified key in this map.
void putAll(Map<? extends K,? extends V> m)
Copies all of the mappings from the specified map to this map.
V remove(Object key)
Removes the mapping for the specified key from this map if present.
int size()
Returns the number of key-value mappings in this map.
Collection<V> values()
Returns a Collection view of the values contained in this map.

目录
相关文章
|
5月前
|
存储 算法 安全
深入了解哈希映射(HashMap)
哈希映射是现代软件开发中不可或缺的一种数据结构,它通过独特的存储和检索机制,提供了高效的数据处理能力。正确理解和使用哈希映射,能够显著提高软件性能和开发效率。不论是在日常的软件开发还是在处理大规模数据集时,哈希映射都是一个极佳的选择。
97 1
|
6月前
|
存储 缓存 Rust
Rust 笔记:Rust 语言中哈希结构(哈希映射,HashMap)、集合(哈希集,HashSet)及其使用
Rust 笔记:Rust 语言中哈希结构(哈希映射,HashMap)、集合(哈希集,HashSet)及其使用
935 0
|
存储 缓存 Rust
Rust 笔记:Rust 语言中映射(HashMap)与集合(HashSet)及其用法
本文介绍 Rust 中哈希结构相关概念及其使用。在 Rust 中,提供了两种哈希表,一个是 HashMap,另外一个是 HashSet,本文都将逐一介绍,并介绍 哈希函数 的用法。
301 0
|
Java Spring
HashMap的使用,Service映射
HashMap的使用,Service映射
|
存储 算法 Java
《恋上数据结构第1季》映射 TreeMap,HashMap,LinkedHashMap
《恋上数据结构第1季》映射 TreeMap,HashMap,LinkedHashMap
《恋上数据结构第1季》映射 TreeMap,HashMap,LinkedHashMap
|
存储 Python Java
LeetCode 706:设计哈希映射 Design HashMap
题目: 不使用任何内建的哈希表库设计一个哈希映射 具体地说,你的设计应该包含以下的功能 put(key, value):向哈希映射中插入(键,值)的数值对。如果键对应的值已经存在,更新这个值。 get(key):返回给定的键所对应的值,如果映射中不包含这个键,返回-1。
1064 0
|
25天前
|
Java
让星星⭐月亮告诉你,HashMap中保证红黑树根节点一定是对应链表头节点moveRootToFront()方法源码解读
当红黑树的根节点不是其对应链表的头节点时,通过调整指针的方式将其移动至链表头部。具体步骤包括:从链表中移除根节点,更新根节点及其前后节点的指针,确保根节点成为新的头节点,并保持链表结构的完整性。此过程在Java的`HashMap$TreeNode.moveRootToFront()`方法中实现,确保了高效的数据访问与管理。
27 2
|
25天前
|
Java 索引
让星星⭐月亮告诉你,HashMap之往红黑树添加元素-putTreeVal方法源码解读
本文详细解析了Java `HashMap` 中 `putTreeVal` 方法的源码,该方法用于在红黑树中添加元素。当数组索引位置已存在红黑树类型的元素时,会调用此方法。具体步骤包括:从根节点开始遍历红黑树,找到合适位置插入新元素,调整节点指针,保持红黑树平衡,并确保根节点是链表头节点。通过源码解析,帮助读者深入理解 `HashMap` 的内部实现机制。
30 2
|
27天前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
49 0
|
25天前
|
存储
让星星⭐月亮告诉你,HashMap的put方法源码解析及其中两种会触发扩容的场景(足够详尽,有问题欢迎指正~)
`HashMap`的`put`方法通过调用`putVal`实现,主要涉及两个场景下的扩容操作:1. 初始化时,链表数组的初始容量设为16,阈值设为12;2. 当存储的元素个数超过阈值时,链表数组的容量和阈值均翻倍。`putVal`方法处理键值对的插入,包括链表和红黑树的转换,确保高效的数据存取。
50 5