HashMap类使用哈希表来实现Map接口。这使得基本操作(如get()和put())的执行时间即使对于大型集合也保持不变。
以下是HashMap类支持的构造函数的列表。
Sr.No. | Constructor & Remark |
---|---|
1 | HashMap() 此构造函数构造一个默认的HashMap。 |
2 | HashMap(Map m) 该构造函数通过使用给定Map对象 m 的元素来初始化哈希图。 |
3 | HashMap(int capacity) 此构造函数将哈希Map的容量初始化为给定的整数值,容量。 |
4 | HashMap(int capacity,float fillRatio) 此构造函数使用其参数初始化哈希图的容量和填充率。 |
除了从其父类继承的方法之外,HashMap还定义了以下方法-
Sr.No. | Method & Remark |
---|---|
1 | void clear() 从该Map中删除所有Map。 |
2 | Object clone() 返回此HashMap的浅拷贝:键和值本身不会被克隆。 |
3 | boolean containsKey(Object key) 如果此Map包含指定键的Map,则返回true。 |
4 | boolean containsValue(Object value) 如果此Map将一个或多个键Map到指定值,则返回true。 |
5 | Set entrySet() 返回此Map中包含的Map的集合视图。 |
6 | Object get(Object key) 返回此标识哈希Map中指定键所Map到的值;如果该Map不包含此键的Map,则返回null。 |
7 | boolean isEmpty() 如果此Map不包含键值Map,则返回true。 |
8 | Set keySet() 返回此Map中包含的键的设置视图。 |
9 | Object pub(Object key,Object value) 将指定值与该Map中的指定键相关联。 |
10 | putAll(Map m) 将所有Map从指定Map复制到此Map。 |
11 | Object remove(Object key) 如果存在,则从此Map中删除此键的Map。 |
12 | int size() 返回此Map中的键值Map数。 |
13 | Collection values() 返回此Map中包含的值的集合视图。 |
以下程序说明了此集合支持的几种方法-
import java.util.*; public class HashMapDemo { public static void main(String args[]) { //Create a hash map HashMap hm=new HashMap(); //Put elements to the map hm.put("Learnfk", new Double(3434.34)); hm.put("Mahnaz", new Double(123.22)); hm.put("Ayan", new Double(1378.00)); hm.put("Daisy", new Double(99.22)); hm.put("Qadir", new Double(-19.08)); //Get a set of the entries Set set=hm.entrySet(); //Get an iterator Iterator i=set.iterator(); //Display elements while(i.hasNext()) { Map.Entry me=(Map.Entry)i.next(); System.out.print(me.getKey() + ": "); System.out.println(me.getValue()); } System.out.println(); //Deposit 1000 into Learnfk's account double balance=((Double)hm.get("Learnfk")).doubleValue(); hm.put("Learnfk", new Double(balance + 1000)); System.out.println("Learnfk's new balance: " + hm.get("Learnfk")); } }
这将产生以下输出-
Daisy: 99.22 Ayan: 1378.0 Learnfk: 3434.34 Qadir: -19.08 Mahnaz: 123.22 Learnfk's new balance: 4434.34
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕