List
List<Map<String, String>> maps = new ArrayList<>();
Map<String, String> ccc;
for (int i = 0; i < 10; i++) {
ccc = new HashMap<>();
ccc.put(i + "", i * 1111 + "");
maps.add(ccc);
}
System.out.println("=============");
// for (Map<String, String> mapString : maps) {
// for (String str : mapString.keySet()) {
// System.out.println(mapString.get(str));
// }
// }
System.out.println("+++++++++++++++++++++=");
for (Map<String, String> mapString : maps) {
for (String a : mapString.values()) {
System.out.println(a.toString());
}
}
System.out.println("----------------------------");
for (Map<String, String> map : maps) {
Iterator<Map.Entry<String, String>> mapIterator = map.entrySet().iterator();
while (mapIterator.hasNext()) {
Map.Entry<String, String> m = mapIterator.next();
System.out.println(m.getKey() + " " + m.getValue());
}
}
System.out.println("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
Iterator<Map<String, String>> mapIterator = maps.iterator();
while (mapIterator.hasNext()) {
Map<String, String> a = mapIterator.next();
for (String str : a.keySet()) {
System.out.println(a.get(str));
}
}
System.out.println("(()()()()()()))()()()()()()()()()");
‘集中常见的 循环方法的时间:×(for foreach 和 Iterator 三种对比)
有兴趣的可以运行,查看时间对比;
List<String> list = new ArrayList<String>();
Set<String> set = new HashSet<String>();
for (int i = 0; i < 10000; i++) {
list.add("a" + i);
}
long t1 = 0L, t2 = 0L;
t1 = System.currentTimeMillis();
for (String s : list) {
set.add(s);
}
// for (String v : list) {
// System.out.print(v.toString());
// }
t2 = System.currentTimeMillis();
System.out.println();
System.out.println("forEach遍历的时间为:" + (t2 - t1) + "mm");
two
t1 = System.currentTimeMillis();
for (int i = 0; i < list.size(); i++) {
set.add(list.get(i));
}
// for (int i = 0; i < list.size(); i++) {
// System.out.print(list.get(i));
// }
t2 = System.currentTimeMillis();
System.out.println();
System.out.println("size遍历的时间为:" + (t2 - t1) + "mm");
three
t1 = System.currentTimeMillis();
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
set.add((String) iterator.next());
}
// Iterator<String> iterator1 = list.iterator();
// while (iterator1.hasNext()) {
// System.out.print(iterator1.next());
// }
t2 = System.currentTimeMillis();
System.out.println();
System.out.println("iterator遍历的时间为:" + (t2 - t1) + "mm");
System.out.println("--=-==========================");
注意:使用迭代容易出现java.util.NoSuchElementException的错误,所有使用迭代要遍历对next()的重复使用,要不然会出现java.util.NoSuchElementException的错误。