Map、List、Set在Java中的各种遍历方法

时间:2020-12-26 16:16:31

一、Map的4种遍历

Map<String, String> map = new HashMap<String, String>();
map.put("姓名", "张三");
map.put("属性", "好人");

1、普遍使用,二次取值

for (String key : map.keySet()) {
System.out.println(key + map.get(key));
}

2、通过Map.entrySet使用iterator遍历key和value

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

3、通过Map.entrySet遍历key和value(推荐容量大时使用)

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

4、通过Map.values()遍历所有的value,但不能遍历key

for (String value : map.values()) {
System.out.println(value);
}

二、List的3种遍历

List<String> list = new ArrayList<String>();
list.add("one");
list.add("two");

1、普遍使用,效率最高

for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}

2、迭代遍历

Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}

3、for循环遍历

for(String data : list){
System.out.println(data);
}


三、Set的2种遍历

Set<String> set = new HashSet<String>();
set.add("one");
set.add("two");
set.add("one");

1、迭代遍历

Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}

2、for循环遍历

for (String data : set) {
System.out.println(data);
}