java中map的循環遍曆和map的獲取值的辦法

Java中Map的遍曆方式了,這個其實有點像php中數組了,下文整理了一些map的循環遍曆和map的獲取值的辦法,希望能幫助到各位。

map的循環遍曆方式

代碼如下
package com.sec.map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class TestMap {

public static void main(String[] args) {


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

map.put("1", "value1");

map.put("2", "value2");

map.put("3", "value3");


//第一種:普遍使用,二次取值

System.out.println("通過Map.keySet遍曆key和value:");

for (String key : map.keySet()) {

System.out.println("key= "+ key + " and value= " + map.get(key));

}

System.out.println("www.111cn.net");

//第二種

System.out.println("通過Map.entrySet使用iterator遍曆key和value:");

Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();

while (it.hasNext()) {

Map.Entry<String, String> entry = it.next();

System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());

}

System.out.println("www.111cn.net");

//第三種:推薦,尤其是容量大時

System.out.println("通過Map.entrySet遍曆key和value");

for (Map.Entry<String, String> entry : map.entrySet()) {

System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());

}

System.out.println("www.111cn.net");

//第四種

System.out.println("通過Map.values()遍曆所有的value,但不能遍曆key");

for (String v : map.values()) {

System.out.println("value= " + v);

}

System.out.println("www.111cn.net");
}

}

補充:

第一種用for循環
Java代碼

代碼如下

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

第二種用疊代
Java代碼

代碼如下
Set set = map.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.Entry<String, String> entry1=(Map.Entry<String, String>)i.next();
System.out.println(entry1.getKey()+"=="+entry1.getValue());
}
Set set = map.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.Entry<String, String> entry1=(Map.Entry<String, String>)i.next();
System.out.println(entry1.getKey()+"=="+entry1.getValue());
}

用keySet()疊代
Java代碼

代碼如下

Iterator it=map.keySet().iterator();
while(it.hasNext()){
String key;
String value;
key=it.next().toString();
value=map.get(key);
System.out.println(key+"--"+value);
}
Iterator it=map.keySet().iterator();
while(it.hasNext()){
String key;
String value;
key=it.next().toString();
value=map.get(key);
System.out.println(key+"--"+value);
}

用entrySet()疊代
Java代碼

代碼如下

Iterator it=map.entrySet().iterator();
System.out.println( map.entrySet().size());
String key;
String value;
while(it.hasNext()){
Map.Entry entry = (Map.Entry)it.next();
key=entry.getKey().toString();
value=entry.getValue().toString();
System.out.println(key+"===="+value);
}

更多相關文章
  • jquery對象object循環遍曆其實就是遍曆數組之類的或json數據了,下面我們一起來看一個例子,希望例子能夠幫助到各位朋友.前言一個朋友問對象如何轉爲數組,當我問他爲啥要轉得時候,他告訴我,數組可以用js循環遍
  • 下面來給大家介紹在linux系統中LNMP環境卡在 starting PHP-FPM問題解決辦法,希望碰到此問題的朋友可進入參考一下吧.出現這種問題是因爲php版本的問題,我們只要對版本進行升級就可以解決此問題了.方法:用自帶的php升級sh 升級php運行cd lnmp1.0-full./upgr ...
  • 本文章分享一篇超簡單的關于WinForm中DataGridView重新綁定後前台界面不刷新的問題解決辦法,有需要的同學可以參考一下. 代碼如下 List<CustomClass> sources=getItems()
  • .net中A potentially dangerous Request.Form value was detected from the client解決辦法
    本文章介紹.net中A potentially dangerous Request.For
  • JVMTI是JDK1.5衆多最新特性的一項同,通過JVMTI我們可以做到許多以前難以做到的事情,本文我們來看看使用JVMTI循環類實例.今天我想探討Java的另一面,我們平時不會注意到或者不會使用到的一面.更准確的說
  • 本文章來給大家介紹php中基本的循環語句的使用方法,包括for循環,while循環與do while循環的使用方法,本文章很適合于php初學入門者哦.用for語句可以控制多個變量,從而實現多重循環的高級應用.下面看一
  • 前面我們來講了java報表工具FineReport常用函數的用法及示例,本文我們來來講講FineReport報表工具在使用中遇到的常見報錯誤如何解決關于java報表工具FineReport常用函數的用法及示例,請點擊.http://www.111cn.net/jsp/Jsp-Servlet/8390
  • 本文章今天主要是講在ie中浮窗不能隨屏滾動的問題解決方法,我使用的pisition:fixed,在其它浏覽器都可以,就是在ie6下無效的,後來找了幾種解決辦法,各位可參考.按網上的說明,下面的這段css中的_top好
一周排行
  • Android View高仿獵豹清理大師自定義開口圓環比例進度
    Android應用中的獵豹清理大師的記憶體開口圓環比例進度感覺不錯,本著好學的心態,就高仿
  • Format就是格式化日期與時間的,下面我來介紹的String.Format的格式參數,希望文章來能我帶來好運.一.定義String.Format是將指定的 String類型的數據中的每個格式項替換爲相應對象的值的文
  • 把你的勞累剪切,向我臂膀上粘貼:把我的快樂複制,向你生活中粘貼:把我們的回憶收藏,把我們的幸福播放:最後請把婚紗披上,讓我們走上神聖的教堂.親愛的,嫁給我吧!一分錢掰不開兩瓣,一根藤離不開樹的胸懷,一只風筝脫不開那條 ...
  • 關于sqlite3速度慢的原因解決方法在對sqlite3 insert into 等操作時速度比較慢.原因是因爲它是已文件的形式存在磁盤中,每次訪問時都要打開一次文件,如果對數據庫教程進行大量的操作,那時很慢.解決辦
  • Jedis 是 Redis 官方首選的 Java 客戶端開發包,我們如果使用Redis的朋友可能對于Redis並不陌生了,下面我們一起來看Jedis版本升級後的問題總結與解決 辦法吧.最近因爲jedis 2.1.0接
  • php-cgi假死問題會導致網站打不開網網站直接顯示502 Bad Gateway錯誤問題了,下文我們一起來看看此問題如何解決吧.最近,一台生産中的伺服器(CentOS 5.2 64位 4G記憶體),老是出現網站打不 ...
  • 本文章介紹了一個網站開發常用的編輯FCKeditor,但很多朋友不知道怎麽利用js來驗證FCKeditor輸入框的內容,下面我們來看利用了FCKeditorAPI.GetInstance解決這個問題. 代碼如下 va
  • THINKPHP3.0上傳文件後略縮圖不能保存到子目錄,是因爲UploadFile.class.php這個上傳類中getSubName()函數只能創建原圖的子目錄而不能創建略縮圖的子目錄,可以說是BUG. 解決辦法一
  • 那就是谷歌的PR這次有很大程度上的提升,大部分做了一段時間的新站,特別是半年以上的新站,基本上pr都有上升,有的重0到了2 甚至3,原來有PR的也一定程度上提升了.對于這一喜一憂的交替進行,我們內心是承受了很大的煎熬 ...
  • php教程 spl_autoload_register與__autoload方法詳解在談到框架自動載入類的方面,我大概翻了一下,現在主流的框架系統都使用spl_autoload_register函數,而非__auto ...