1. 程式人生 > >Java中HashMap實現1對N

Java中HashMap實現1對N

              我們都知道在Java中的HashMap預設的是1對1,但其實可以處理一下讓他適合1對來儲存資料,其實也就是對鍵值對中得值的資料進行及時的更新.我們實現這一操作作用到了分揀儲存;

            那麼什麼是分揀儲存呢?你可以這樣理解,和快遞員分撿快遞來類比,快遞的目的地有很多,比如有北京上海山東等等,比如一開始我拿到了一個發往山東的包裹,那麼快遞員就要看看是否已經有一個放發往山東的袋子,如果有就直接放入,如果沒有就拿一個袋子來。 分揀儲存也就這點東西。

         那麼來看一個列子,給你一句英文,讓你統計這句話中每個單詞出現的次數:

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/**
 * HahMap :1:N
 * @author SKH&L
 *
 */
public class Main {
	public static void main(String[] args){
		String str="skh is very very cute and cute";
		String []s=str.split(" ");
		Map<String,Integer> map=new HashMap<String,Integer>();
		for(String q:s) {
			if(!map.containsKey(q)) {//如果不存在就建立一個袋子;
				map.put(q, 1);
			}
			else
			{//如果已存在就加入,並更新相應的V;
				map.put(q, map.get(q)+1);
			}
		}
		//迭代器遍歷
		Set<String>set=map.keySet();
		//獲取物件
		Iterator<String> it=set.iterator();
	   while(it.hasNext()) {
		   String key=it.next();
		   System.out.println(key+"-->"+map.get(key));
	   }	
	}
}

輸出結果:

skh-->1
very-->2
and-->1
is-->1
cute-->2