1. 程式人生 > >Java中Map的使用

Java中Map的使用

1. Map的名稱空間:java.util.Map
(1)Map只是一個介面,並不是一個類
(2)Map中的Key和Value不能為Null,以Key-Value鍵值對作為儲存元素實現的雜湊結構。
(3)Key唯一,Value可以重複

2.Map的建立
Map的建立主要有以下幾種:
//介面的實現
Map<String,String> map1 = new HashMap<String,String>();
Map<String,String> map2 = new Hashtable<String,String>();

//紅黑樹的實現
Map<String,String> map3 = new TreeMap<String,String>();

3.向Map中新增值
map1.put(“1”, “frist”);
map1.put(“2”, “second”);
map1.put(“3”, “three”);
map1.put(“4”, “four”);

4. 求Map的大小,判斷Map是否為Null,Map是否包含每個Key和Value
4.1 求Map的大小
int len = map1.size();
4.2 判斷Map是否為Null
if(map1.isEmpty())
{
System.out.print(“Map中沒有Key和Value”+ “\r\n”);
}
4.3 Map是否包含每個Key和Value
if(map1.containsKey(“2”))
{
System.out.print(“存在關鍵詞為2,其值=” + map1.get(“2”) + “\r\n”);
}
if(map1.containsValue(“three”))
{
System.out.print(“存在值為thre” + “\r\n”);
}

**5. Map的遍歷形式
**5.1 Set遍歷Map
(1)轉換為Iterator之後,進行遍歷輸出
Set keys = map1.keySet(); //返回key
if(keys != null)
{
Iterator iterator = keys.iterator();
while(iterator.hasNext())
{
Object Keys = iterator.next();
System.out.print("輸出Map中的關鍵值 = " + Keys + “\r\n”);
System.out.print("輸出Map中的值 = " + map1.get(Keys) + “\r\n”); //每次去Map取值
}
}
(2)採用for來遍歷輸出
for(String key : map1.keySet())
{
System.out.print("輸出Map中的關鍵值對應的值 = " + map1.get(key) + “\r\n”); //每次去Map中取值
}

5.2 Collection 遍歷Map
(1)轉換為Iterator或者List之後,進行遍歷輸出
Collection value = map1.values();
if(value != null)
{
//Iterator輸出值
Iterator iterators = value.iterator();
while(iterators.hasNext())
{
Object Values = iterators.next();
System.out.print("輸出Map中的值 = " + Values + “\r\n”);
}
//List輸出值
List list = new ArrayList();
list.addAll(value);
for(String s:list)
{
System.out.print("輸出Map中的值 = " + s + “\r\n”);
}
}
(2)採用for來遍歷輸出
for(String v : map1.values())
{
System.out.print("輸出Map中的值 = " + v + “\r\n”);
}
5.3 Map的內部介面 Entry遍歷Map
(1)轉換為Iterator或者List之後,進行遍歷輸出
Set entryset = map1.entrySet(); //包含key和Value
if(entryset!=null)
{
Iterator<Map.Entry<String, String>> iterator = entryset.iterator();
while(iterator.hasNext())
{
Map.Entry<String, String> entry = iterator.next();
String key = entry.getKey();
String values = entry.getValue();
System.out.print("輸出Map中的Key和Value值 = " + key + “,” + values + “\r\n”);
}
}
(2)採用for來遍歷輸出
for(Map.Entry<String, String> entry : map1.entrySet())
{
System.out.print("輸出Map中的Key和Value值 = " + entry.getKey() + “,” + entry.getValue() + “\r\n”);
}