您的位置:首页 > 编程语言 > Java开发

Java中Map的三种遍历方法

2015-01-14 14:08 656 查看
摘自:/article/1402336.html

Map的三种遍历方法:
1. 使用keySet遍历,while循环;
2. 使用entrySet遍历,while循环;
3. 使用for循环遍历。

下面是测试代码

import java.util.*;

public class MapTraverse {

public static void main(String[] args) {

String[] str = {"I love you", "You love he", "He love her", "She love me"};

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

for(int i=0; i<str.length; i++) {

m.put(i, str[i]);

}

System.out.println("下面是使用useWhileSentence()方法输出的结果:");

useWhileSentence(m);

System.out.println("下面是使用useWhileSentence2()方法输出的结果:");

useWhileSentence2(m);

System.out.println("下面是使用useForSentence()方法输出的结果:");

useForSentence(m);

}

public static void useWhileSentence(Map<Integer, String> m) {

Set s = (Set<Integer>)m.keySet();

Iterator<Integer> it = s.iterator();

int Key;

String value;

while(it.hasNext()) {

Key = it.next();

value = (String)m.get(Key);

System.out.println(Key+":\t"+value);

}

}

public static void useWhileSentence2(Map m) {

Set s = m.entrySet();

Iterator<Map.Entry<Integer, String>> it = s.iterator();

Map.Entry<Integer, String> entry;

int Key;

String value;

while(it.hasNext()) {

entry = it.next();

Key = entry.getKey();

value = entry.getValue();

System.out.println(Key+":\t"+value);

}

}

public static void useForSentence(Map<Integer, String> m) {

int Key;

String value;

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

Key = entry.getKey();

value = entry.getValue();

System.out.println(Key+":\t"+value);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: