语法自带
1.普通for循环
for (int i = 0; i < list.size(); i++) {
//operation
}
2.增强for循环(也称foreach循环)
for (Integer integer : list) {
//operation
}
详细分析可以看iterator篇
forEach方法
//内部匿名类
list.forEach(new Consumer<Integer>() {
@Override
public void accept(Integer integer) {
System.out.println(integer);
}
});
//函数式
list.forEach((str)->{
System.out.println(str);
});
详细分析可以看iterator篇
迭代遍历
1.迭代器遍历(需要实现iterable接口)
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
2.双向迭代器遍历(实现list接口)
ListIterator<String> iter = list.listIterator() ;// 获取ListIterator接口实例
while(iter.hasNext()) { // 由前向后迭代
System.out.print(iter.next());
}
while (iter.hasPrevious()) { // 由后向前迭代
System.out.print(iter.previous());
}
3.枚举输出(实现Enumeration接口)
Enumeration<String> enu = vector.elements() ; // 获取Enumeration实例
while (enu.hasMoreElements()) {
String str = enu.nextElement() ;
System.out.print(str );
}
流式遍历
Stream<String> stream = list.stream(); // 获取Stream接口对象
// 将每一个元素全部变为小写字母,而后查询是否存在有字母“j”,如果存在则进行个数统计
System.out.println(stream.filter((ele) ->
ele.toLowerCase().contains("j")).count());