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好
一周排行
  • 其實解決這個問題非常的簡單導致chrome書簽無法同步原因是因爲國內IP被強了,所以我們只要把dns指定ip地址就可以了我的chrome中設置了同步所有內容,發現標簽同步不穩定或失敗,通過如下操作可以解決chrome
  • 文章是一個簡單應用實例利用foreach遍曆數組,然後給數組增加一些值進去了,方法比較簡單,本文章後來介紹了直接使用array_push 來給數組增加值兩者本人更喜歡後者一些.例1 代碼如下 foreach($lis
  • 在unbutu中備份mysql數據庫我們只要在mysql目錄mysqldump命令就可以快速的備份數據庫與恢複己備份的數據庫了,下面看筆記.首先進入安裝mysql的目錄備份:./mysqldump –u root – ...
  • 同域.子頁面高度不會動態增加這種情況最簡單,直接通過腳本獲取字頁面實際高度,修改iframe元素高度即可.但有二點必須注意:如果頁面內有絕對定位或者沒有清浮動的元素,情況有些複雜,不同浏覽器處理結果不同,甚至包括we
  • socket_connect函數在php默認安裝是不給支持的,如果要使用它我們需要在php.ini中進行簡單的開啓,下面我們一起來看看吧.linux系統中開啓socket_connect方法#cd /home/php
  • 安裝rar就是一個解壓縮工具了,這個功能可以讓我們在linux中解壓rar或zip壓縮包了,下面一起來看看linux安裝rar工具的教程 今天要在伺服器上解壓個rar的文件包,執行unrar報居然沒有安裝,好吧,只能 ...
  • 蘋果iPhone6鎖屏WiFi自動斷開怎麽辦
    蘋果iPhone6鎖屏WiFi自動斷開怎麽辦?這個功能沒有什麽怎麽辦了,就是ios系統一個
  • 下面我们一起来看一个WPF中判断surface+win8下的横屏 竖屏状态的一些方法整理,希望此方法来给各位朋友带来一些帮助哦.今天在做surface2+win8.1的一个wpf程序,程序固定了分辨率和高度宽度了,也 ...
  • extjs4中選項卡的右鍵菜單實現代碼
    一般的應用程序都支持在選項卡按鈕上面通過右鍵的方式去關閉多余的選項卡,在ext中也可以做到 ...
  • DNF地下城與勇士5月7日智勇大闖 第一題 第二題 第三題答案
    DNF地下城與勇士5月7日智勇大闖 第一題 第二題 第三題答案是什麽呢?這裏上線了幾題目了