方法摘要
void clear()
从此映射中移除所有映射关系。
Object clone()
返回此 HashMap 实例的浅表复制:并不克隆键和值本身。
boolean containsKey(Object key)
如果此映射包含对于指定的键的映射关系,则返回 true。
boolean containsValue(Object value)
如果此映射将一个或多个键映射到指定值,则返回 true。
Set <Map.Entry <K,V> > entrySet()
返回此映射所包含的映射关系的 collection 视图。
V get(Object key)
返回指定键在此标识哈希映射中所映射的值,如果对于此键来说,映射不包含任何映射关系,则返回 null。
boolean isEmpty()
如果此映射不包含键-值映射关系,则返回 true。
Set <K> keySet()
返回此映射中所包含的键的 set 视图。
V put(K key, V value)
在此映射中关联指定值与指定键。
void putAll(Map <? extends K,? extends V> m)
将指定映射的所有映射关系复制到此映射中,这些映射关系将替换此映射目前针对指定映射的所有键的所有映射关系。
V remove(Object key)
如果此映射中存在该键的映射关系,则将其删除。
int size()
返回此映射中的键-值映射关系数。
Collection <V> values()
返回此映射所包含的值的 collection 视图。
例:
import java.util.*;
class hashmaptest
{
public static void main(String[] args)
{
HashMap register = new HashMap();
register.put("name","jingsp");
register.put("date","1996-8");
register.put("stuid","960515");
register.put("status","overS");
register.put("scrol","excellence");
register.put("lasttime","1999-9");
System.out.println(register);
System.out.println("-------------------");
Set s = register. entrySet();
System.out.println(s);
System.out.println("-------------------");
Iterator it = s.iterator();
while(it.hasNext())
{
Map.Entry map = ( Map.Entry)it.next();
System.out.print(map+"\t");
System.out.println("key:"+map.getKey()+"\tvalue:"+map.getValue());
}
}
}
分享到:
相关推荐
Java集合之HashMap用法详解 Java集合之HashMap用法详解主要介绍了Java集合之HashMap用法,结合实例形式分析了java map集合中HashMap定义、遍历等相关操作技巧。 HashMap概述 HashMap是Java集合框架中最常用的Map...
Java源码角度分析HashMap用法 Java源码角度分析HashMap用法主要介绍了Java源码角度分析HashMap用法,具有一定借鉴价值,需要的朋友可以参考下。下面我们将从HashMap的优点、缺点、使用方法、源码分析等方面进行深入...
深入理解hashmap、hash算法、理解加载因子、扩容以及get、put方法
HashMap之resize()方法源码解读 HashMap的resize()方法是HashMap...在resize()方法中,我们可以看到HashMap的扩容机制是如何工作的,并了解到HashMap使用了power-of-two expansion机制和threshold字段来记录扩容阈值。
下面是 HashMap 的一些特性和使用方法总结。 键(Key)的特性 1. 键可以为 null:HashMap 中的键可以为 null,这意味着可以将 null 作为键来存储值。 2. 键不能重复:如果尝试将重复的键添加到 HashMap 中,后添加...
2. **添加元素**:使用`put()`方法将键值对添加到HashMap中。 ```java map.put("Key1", "Value1"); ``` 3. **获取元素**:通过键(key)使用`get()`方法获取对应的值。 ```java String value = map.get("Key1...
当两个键的`hashCode()`相同,HashMap会使用`equals()`方法来比较键的等价性,从而确定键值对在链表中的位置。 在Java中,HashMap的初始化涉及两个重要属性:initialCapacity(初始容量)和loadFactor(负载因子)...
Java中的HashMap使用`hashCode()`方法来计算键的哈希码,并通过`indexFor(int h, int length)`方法将其映射到数组的合适位置。哈希函数的设计至关重要,因为它直接影响到HashMap的性能。 2. **装载因子**:装载因子...
在多线程环境下,若需保证线程安全,可以考虑使用 ConcurrentHashMap 替换 HashMap。而在列表操作中,根据插入位置和访问顺序,可以选择 ArrayList 或 LinkedList。了解这些基本数据结构的特点和用法,有助于我们在...
为了在多线程环境中安全地使用`HashMap`,开发者需要自己负责同步,例如使用`Collections.synchronizedMap(new HashMap,V>())`创建线程安全的`HashMap`实例。 #### 2. 允许null值 - **HashTable**: 不支持`null`键...
HashMap 的使用可以通过创建一个 HashMap 对象,然后使用 put 方法将 key-value 对添加到该对象中。例如: Java 代码 HashMap, Double> map = new HashMap, Double>(); map.put("语文", 80.0); map.put("数学", ...
在C++编程中,`hashmap`通常指的是`std::unordered_map`,它是一个关联容器,提供了基于哈希表的键值对存储。这个数据结构允许我们以接近常数时间的复杂度进行插入、查找和删除操作,极大地提高了程序的执行效率。...
`put`方法用于向HashMap中添加元素。其核心逻辑包括: 1. **检查数组是否已初始化**:如果数组尚未初始化,则调用`resize`方法进行初始化。 2. **计算索引**:使用键的哈希码和数组长度进行按位与运算,得到索引。 ...
更通用的方法是将HashMap的键值对转化为List,然后使用Collections.sort()方法进行排序。这里可以自定义比较器Comparator来决定排序规则,比如按照key的数值大小排序。 **3. 示例代码** 以下是一个使用Collections...
5. **线程不安全**:HashMap不是线程安全的,如果在多线程环境中使用,需要外部同步机制,或者使用ConcurrentHashMap。 6. **null键与null值**:HashMap允许键和值为null,但只有一个键可以为null,且该键对应的值...
如果不需要线程安全,并且可能涉及 `null` 键或值的情况下,建议使用 `HashMap`;如果需要线程安全,或者希望使用早期的 Java 版本中可用的集合类,可以选择 `HashTable`。然而,在现代 Java 开发实践中,推荐使用 `...
1. **哈希函数**:HashMap使用键对象的hashCode()方法生成哈希码,这个哈希码用于确定元素在内部数组中的位置。哈希函数的目标是尽可能地将不同的键映射到不同的桶,以减少冲突。 2. **哈希冲突解决**:尽管哈希...
`HashMap`使用哈希表实现,提供快速的插入、删除和查找操作。当我们需要遍历`HashMap`中的所有元素时,通常会使用`Iterator`接口,它是Java集合框架的一部分,提供了对集合的迭代访问。 `Iterator`接口定义了三个...
1. 使用Collections.synchronizedMap():Java提供了一个便捷的方法,通过Collections.synchronizedMap()可以将HashMap转换为线程安全的Map。但是需要注意,虽然这个方法可以保证基本的线程安全,但迭代仍然是非线程...