一、迭代器
Collection<String> lists = new ArrayList<>();
lists.add("赵敏");
lists.add("小昭");
lists.add("素素");
lists.add("灭绝");
// 1、得到当前集合的迭代器对象。
Iterator<String> it = lists.iterator();
// 2、定义while循环
while (it.hasNext()){ //询问当前位置是否有元素存在,存在返回true ,不存在返回false
//获取当前位置的元素,并同时将迭代器对象移向下一个位置,注意防止取出越界
//越界会提示:NoSuchElementException异常
String ele = it.next();
System.out.println(ele);
}
二、增强for
【注意事项】:增强for适用于读取数据,不能对原集合元素进行修改或者删除操作
List<Double> scoresList = new ArrayList<>(Arrays.asList(new Double[]{100.0, 99.5 , 59.5}));
for (double score : scoresList) {
System.out.println(score);
if(score == 59.5){
score = 100.0; // 修改无意义,不会影响数组的元素值。
}
}
System.out.println(scoresList); //[100.0, 99.5, 59.5]
三、Lambda表达式(foreah)
lambda表达式规则:
Collection<String> lists = new ArrayList<>();
lists.add("赵敏");
lists.add("小昭");
lists.add("殷素素");
lists.add("周芷若");
// [赵敏, 小昭, 殷素素, 周芷若]
lists.forEach(new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
});
System.out.println("===========================================");
lists.forEach(s -> {
System.out.println(s);
});
System.out.println("===========================================");
lists.forEach(s -> System.out.println(s) );
System.out.println("===========================================");
lists.forEach(System.out::println );
四、Stream
//1.定义list集合
List<Integer> lists = new ArrayList<>(Arrays.asList(5,15,20,25));
//2.输出大于15的数值
//stream()配合filter()forEach 实现对元素的过滤和输出
lists.stream().filter(e-> e> 15).forEach(e -> System.out.println(e));
这里的的Streaml和I/O的Stram存在着本质上的区别,请勿混淆!!!!!