【翻译】Java中遍历集合元素的不同方法
本文通过代码演示遍历集合元素不同的方法。这些方法适用于任何场景。
1、可遍历对象的forEach
方法(Java 8)
Java 8中引入了forEach()
方法,该方法可用于任何Iterable
对象,传入实现了函数式接口java.util.function.Consumer
的对象。如:
import java.util.Arrays;
import java.util.Collection;
import static java.lang.System.out;
public class CollectionIterator {
public static void main(String[] args) {
Collection<String> collection = Arrays.asList("How","To","Iterator","In","Java");
collection.forEach(s -> out.println(s));
}
}
2、Javaforeach
循环(Java 5)
foreach
循环的语法是:
for(Type var : Iterable){
//do something with "var"
}
如:
import java.util.Arrays;
import java.util.Collection;
import static java.lang.System.out;
public class CollectionIterator {
public static void main(String[] args) {
Collection<String> collection = Arrays.asList("How","To","Iterator","In","Java");
for(String s : collection){
out.println(s);
}
}
}
3、java.util.Iterator(Java 2)
使用迭代器仍然是最常用的方法。
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import static java.lang.System.out;
public class CollectionIterator {
public static void main(String[] args) {
Collection<String> collection = Arrays.asList("How","To","Iterator","In","Java");
Iterator<String> itr = collection.iterator();
while(itr.hasNext()){
out.println(itr.next());
}
}
}
4、传统的循环
这种方法适用于支持利用索引下标进行随机方法的集合,如:ArrayList。这种循环的方式早在19世纪70年代的C语言中就被发明和使用了。循环的语法是:
for(int t; test; change){
//do something
}
如:
import static java.lang.System.out;
import java.util.Arrays;
import java.util.List;
public class CollectionIterator {
public static void main(String[] args) {
List<String> list = Arrays.asList("How","To","Iterator","In","Java");
for(int i = 0; i < list.size(); i++){
out.println(list.get(i));
}
}
}