java遍歷hashMap、hashSet、Hashtable


一.遍歷HashMap

Map<Integer, String> map = new HashMap<Integer, String>();

方法一:效率高

for(Entry<Integer, String> entry:map.entrySet()){
  System.out.println(entry.getKey()+"="+entry.getValue());
}

方法二:

for (Integer key : map.keySet()) { 
  String value = map.get(key); (這樣取value會導致效率低,不建議。)
  System.out.println(value);
}

還可以單獨遍歷value

for (Integer value : map.values()) { 
  System.out.println("Value = " + value); 
}

方法三:(好處:可以在遍歷時調用iterator.remove()來刪除entries)

Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();
while (entries.hasNext()) {
  Map.Entry<Integer, Integer> entry = entries.next();
  System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}

 

二.遍歷HashSet

Set set = new HashSet();

for(Iterator it=set.iterator();it.hasNext();){
  System.out.println(it.next());
}

 

三.遍歷Hashtable(同步、線程安全的)

Hashtable table = new Hashtable();

//遍歷key
Enumeration e = table.keys();

while( e. hasMoreElements() ){

  System.out.println( e.nextElement() );

}
//遍歷value
e = table.elements();

while( e. hasMoreElements() ){

  System.out.println( e.nextElement() );

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM