HashMap
1、HashMap
HashMap
HashMap
那么,hashtable 就可以存储键值对数据,其中的键必须是一个String对象,键对应的值必须是Student对象。hashtable可以调用public V put(K key, V value)方法将键值对数据存储放到散列映射中,同时返回键所对应的值。
2、常用方法
HashMap
①public void clear() —— 清空散列映射
②public Object clone() —— 返回当前散列映射的一个克隆
③public boolean containsKey(Object key) —— 如果散列映射有键值对使用了参数指定的键,方法返回true,否则返回false
④public boolean containsValue(Object value) —— 如果散列映射有键值对的值是参数指定的值,方法返回true,否则返回false
⑤public V get(Object key) —— 返回散列映射中使用key作为键的键值对的值
⑥public boolean isEmpty() —— 如果散列映射不含任何键值对,方法返回true,否则返回false
⑦public V remove(Object key) —— 删除散列映射中键为参数指定的键值对,并返回键对应的值
⑧public int size() —— 返回散列映射的大小,即散列映射中键值对的数目
3、遍历散列映射
如果想获得散列映射中所有键值对中的值,首先使用
public Collection
方法返回一个实现Collection
例:使用散列映射的常用方法,并遍历散列映射
[java]
package com.chindroid.date;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
public class TestHashMap {
public static void main(String[] args) {
Book book1 = new Book("7302033218", "C++基础教程");
Book book2 = new Book("7808315162", "Java编程语言");
Book book3 = new Book("7302054991", "J2ME无线设备编程");
HashMap
table.put(book1.ISBN, book1);
table.put(book2.ISBN, book2);
table.put(book3.ISBN, book3);
String key = "7808315162";
if(table.containsKey(key)){
System.out.println(table.get(key).name + "有货");
}
Book b = table.get("7302054991");
System.out.println("书名:"+b.name+", ISBN:"+b.ISBN);
int number = table.size();
System.out.println("散列映射中有"+number+"个元素:");
Collection
Iterator
while(iter.hasNext()){
Book te = iter.next();
System.out.printf("书名:%s, ISBN: %s\n", te.name, te.ISBN);
}
}
}
程序运行结果如下
Java编程语言有货
书名:J2ME无线设备编程, ISBN:7302054991
散列映射中有3个元素:
书名:C++基础教程, ISBN: 7302033218
书名:J2ME无线设备编程, ISBN: 7302054991
书名:Java编程语言, ISBN: 7808315162
4、HashMap
HashMap