標籤:
1.定義
Map用於儲存存在映射關係<key,value>的資料.其中,key值不能重複(使用equals()方法比較),value值可以重複
2.方法
put(key,value):添加元素
get(Object key):擷取指定key的元素
keySet():返回指定對象key的集合
values():返回指定對象value的集合
remove(Object key):移除指定key的元素,並且返回對應值的引用
entrySet():返回映射中包含映射關係的視圖
3.常用實作類別
HashMap:和HashSet類似,鍵按鍵的HashCode()方法確定儲存位置,無序
TreeMap:用於對鍵進行排序,方式與TreeSet相同
LinkedHashMap:和LinkedHashSet類似
4.執行個體
import static org.junit.Assert.*;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.junit.Test;
import day8.Customer;
public class TestMap {
@Test
public void testMapMethods(){
Map m1=new HashMap();
//put(key,value)添加元素
m1.put("aa", new Customer(1,"AA"));
m1.put("bb", new Customer(2,"BB"));
m1.put("cc", new Customer(3,"CC"));
m1.put("dd", new Customer(4,"DD"));
System.out.println(m1.size());
Map m2=new HashMap();
m2.put("aa", new Customer(1,"AA"));
m2.put("bb", new Customer(2,"BB"));
m2.put("cc", new Customer(3,"CC"));
m2.put("dd", new Customer(4,"DD"));
Map<String,Object> m3=new HashMap();
m3.put("aa", new Customer(1,"AA"));
m3.put("bb", new Customer(2,"BB"));
m3.put("cc", new Customer(3,"CC"));
m3.put("dd", new Customer(4,"DD"));
//比較兩對象是否相等時,重寫Object的equals()方法,如果索引值對完全相同,返回true.
System.out.println(m1.equals(m2));
//get(Object key)擷取指定key的元素
System.out.println(m1.get("bb"));
//keySet()返回指定對象key的集合
Set keySet=m1.keySet();
for(Object key:keySet){
System.out.println(key);
}
//values()返回指定對象value的集合
Collection value=m1.values();
for(Object val:value){
System.out.println(val);
}
System.out.println();
//遍曆操作
//方法一:先得到鍵的集合,對鍵進行遍曆時得到值
for(Object key:keySet){
Object val=m1.get(key);
System.out.println(key+" : "+val);
}
System.out.println();
//方法二:得到索引值對的集合
for(Entry<String,Object> entry:m3.entrySet()){
System.out.println(entry.getKey()+" : "+entry.getValue());
}
System.out.println();
//remove(Object key)移除指定key的元素,並且返回對應值的引用
Object obj=m1.remove("aa");
System.out.println(obj);
System.out.println(m1.size());
}
}
涉及的完整代碼:http://www.cnblogs.com/jfl-xx/p/4707643.html
Java集合——Map介面