上一篇JAVA學習【7】初步討論了JAVA集合框架與Arraylist、Linkedlist、HashSet的基本用法,這一篇主要對集合框架中的映射(map)與HashMap的基本用法進行介紹。
映射(map)存儲鍵-值對,鍵值唯一,給定鍵值,則可查找相應的值。
映射(map)不實現Iterable接口,無法使用for-each遍歷元素。
接口:
映射中最主要的接口是Map接口,它定義了以下主要方法:
put(key, value):存儲鍵值對,自動替換原鍵值=key的鍵值對
get(key): 返回鍵值=key的鍵值對
Set<Map.Entry<K, V>> entrySet():返回所有鍵值對,主要採用該方法遍歷映射中的鍵值對。
remove(key): 刪除鍵值=key的鍵值對
clear(): 刪除所有鍵值對
類:
HashMap類實現了Map接口,以哈希表形式存儲鍵值對,無序。
TreeMap類以二叉樹形式存儲鍵值對,有序。
示例:
HashMap類:
import java.util.*;
public class MyCode5 {
public static void main(String args[]) {
HashMap<Integer,String> myhm = new HashMap<Integer,String>();
myhm.put(100,"Jack");
myhm.put(101,"Jack");
myhm.put(103,"Lily");
myhm.put(102,"Lucy");
System.out.println(myhm);
myhm.put(100,"Tom ");//自動替代原value
System.out.println(myhm);
Set<Map.Entry<Integer, String>> set = myhm.entrySet();
for(Map.Entry<Integer, String> me:set){
System.out.print(me.getKey()+": ");
System.out.println(me.getValue());
}
}
}
運行結果:{100=Jack, 101=Jack, 102=Lucy, 103=Lily}
{100=Tom , 101=Jack, 102=Lucy, 103=Lily}
100: Tom
101: Jack
102: Lucy
103: Lily
TreeMap類與上相似,只需修改語句:“TreeMap<Integer,String> myhm = new TreeMap<Integer,String>();”
結果相同。
TreeMap與TreeSet相似,也是默認以升序方式排列。