这是我参与8月更文挑战的第22天,活动详情查看:8月更文挑战
传统遍历方法
/**
* 传统遍历方法
*/
System.out.println("==================传统遍历方法===============");
for (String str : list) {
System.out.println(str);
}
Lambda 遍历
/**
* Lambda 遍历
*/
System.out.println("==================匿名内部类 遍历方法===============");
list.forEach(new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
});
Lambda 遍历 简化版
System.out.println("==================Lambda表达式 遍历方法===============");
list.forEach((String str) -> {
System.out.println(str);
});
System.out.println("==================Lambda表达式(简化) 遍历方法===============");
list.forEach(str -> System.out.println(str));
完整示例:
public static void main(String[] args) {
List<String> list = Arrays.asList("L", "A", "M", "B", "D", "A");
/**
* 传统遍历方法
*/
System.out.println("==================传统遍历方法===============");
for (String str : list) {
System.out.println(str);
}
/**
* Lambda 遍历
*/
System.out.println("==================匿名内部类 遍历方法===============");
list.forEach(new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
});
System.out.println("==================Lambda表达式 遍历方法===============");
list.forEach((String str) -> {
System.out.println(str);
});
System.out.println("==================Lambda表达式(简化) 遍历方法===============");
list.forEach(str -> System.out.println(str));
}
lambda表达式在实际开发中其实很好使用,建议大家多实用lambda表达式,但是就是语法比较抽象,不容易懂。需要多使用才能掌握。
Integer[] items = {1, 2, 3};
Arrays.asList(items).forEach((item) -> { //加数组转集合在进行遍历
System.out.println(item);
});
Map<String, String> m = new HashMap<String, String>();
m.put("a", "haha");
m.put("b", "hahaha");
m.put("d", "hahe");
m.put("c", "haheeee");
m.forEach((k,v)->{
System.out.println(k);
System.out.println(v);
});
HashMap<String,Object> map=new HashMap<>();
map.put("1", "aa");
map.put("2", "bb");
map.forEach((k,v) ->{
System.out.println(k);
System.out.println(v);
});
List<HashMap<String,Object>> list2 =new ArrayList<>();
list2.add(map);
list2.forEach((k)->{
System.out.println(k.get("1"));
System.out.println(k.get("2"));
});
//过滤遍历 使用stream流
List<Strudent> list = new ArrayList<Strudent>() {{
add(new Strudent("b", 11, "女"));
add(new Strudent("a", 19, "男"));
add(new Strudent("d", 15, "女"));
add(new Strudent("c", 22, "男"));
}};
list.stream().filter(student -> {
student.getAge() < 20
}).forEach(
System.out.println(student.toString());
});
List<String> list = Arrays.asList("abc", "", "bc", "efg", "abcd","abc", "abc");
//map 方法用于映射每个元素到对应的结果(及对每个元素做操作)
list.stream().map(a -> a+"1").forEach(one -> {
System.out.println(one);
});