突然想到 for 和 iterator都可以遍历输出集合中的值,于是简单写了两个例子对比一下,并测了一下 使用iterator速度较快一点
(一)遍历键值对集合
public class hashmap {
public static void main(String[] args) {
HashMap<String, Integer> route =new LinkedHashMap<>();
for(int i = 1;i<5;i++){
route.put("公交线路"+i, i);
}
System.out.println("--------使用for循环打印输出-----------");
for(Entry<String, Integer> j : route.entrySet()){
System.out.println(j.getKey()+"--->"+j.getValue()+"路");
}
System.out.println("--------使用迭代器打印输出-----------");
Iterator iter =route.entrySet().iterator();
while(iter.hasNext()){
Entry en= (Entry) iter.next();
String k = (String) en.getKey();
Integer v =(Integer) en.getValue();
System.out.println(k+"--->"+v+"路");
}
}
}
输出结果:
--------使用for循环打印输出-----------
公交线路1--->1路
公交线路2--->2路
公交线路3--->3路
公交线路4--->4路
--------使用迭代器打印输出-----------
公交线路1--->1路
公交线路2--->2路
公交线路3--->3路
公交线路4--->4路
(二)遍历arrayList集合
public class demo4 {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
System.out.println("--------for循环打印输出-----------");
for(int i=0;i<10;i++){
list.add("结果"+i);
}
for(String r :list){
System.out.println(r);
}
System.out.println("--------使用迭代器打印输出-----------");
Iterator<String> iter = list.iterator();
while(iter.hasNext()){//如果没值的时候返回-1 就是false停止循环
System.out.println(iter.next());
}
}
}
输出结果:
--------for循环打印输出-----------
结果0
结果1
结果2
结果3
结果4
结果5
结果6
结果7
结果8
结果9
--------使用迭代器打印输出-----------
结果0
结果1
结果2
结果3
结果4
结果5
结果6
结果7
结果8
结果9