歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java泛型介紹——HashMap總結

Java泛型介紹——HashMap總結

日期:2017/3/1 9:20:08   编辑:Linux編程

今天在編程中,需要使用到Hashmap來存儲和傳遞數據,發現自己學習Java這麼久,實際上對泛型依舊知之甚少,搜索整理了一下HashMap的使用。

HashMap的聲明初始化,因為泛型的原因,起兩個參數key和value需指定具體的類型,使用put方法可以將數據傳送到HashMap中,

HashMap<String, Integer> data = new HashMap<String, Integer>();

data.put("蘋果", 100);

data.put("梨子", 200);

data.put("葡萄", 300);

data.put("香蕉", 400);

data.put("荔枝", 500);

HashMap使用我重點關注度是對其的遍歷算法,,其遍歷算法主要有兩種,可以使用KeySet和entrySet來進行遍歷,核心代碼如下所示:

第一種:使用的是EntrySet

  Map map = new HashMap();

  Iterator iter = map.entrySet().iterator();

  while (iter.hasNext()) {

  Map.Entry entry = (Map.Entry) iter.next();

  Object key = entry.getKey();

  Object val = entry.getValue();

  }

  效率高,以後一定要使用此種方式!

第二種:,使用的是KeySet

  Map map = new HashMap();

  Iterator iter = map.keySet().iterator();

  while (iter.hasNext()) {

  Object key = iter.next();

  Object val = map.get(key);

}

小隊來說效率低一些,這種方式它的優點在於可以根據你所想要的key值得到你想要的 values,更具靈活性!!

這兩種遍歷的方式實際上是有差別的,對於keySet其實是遍歷了2次,一次是轉為iterator,一次就從hashmap中取出key所對於的value。

而entryset只是遍歷了第一次,就是把key和value都放到了entry中,所以就快了。

Copyright © Linux教程網 All Rights Reserved