- List
stringList = Arrays.asList("apppe","organge","banana"); - // 原来的方式
- for (String s : stringList) {
- System.out.println(s);
- }
- // lambda 表达式
- stringList.forEach(s->{
- System.out.println(s);
- });
- List
dogs = Arrays.asList(new Dog[]{ - new Dog("n1", 12),
- new Dog("n2", 14),
- new Dog("n3", 11)
- });
- // 方法1
- Collections.sort(dogs, new Comparator
() { - @Override
- public int compare(Dog o1, Dog o2) {
- return o1.getAge()>o2.getAge()?-1:1;
- }
- });
- // 方法2
- Collections.sort(dogs,(o1,o2)->(o1.getAge()>o2.getAge()?-1:1));
- dogs.forEach(s->{
- System.out.println(s.getAge());
- });
注意:-1:代表第一个对象,1:代表第二个对象
- List
stringList = Arrays.asList("apple","organge","banana"); - // 获取集合中所有以“a”开头的字符串
- // 原来的方式
- List
newList = new ArrayList(); - for (String s : stringList) {
- if(s.startsWith("a")){
- newList.add(s);
- }
- }
- // lambda表达式
- List
newList2 = stringList.stream().filter(s -> { - if(s.startsWith("a")){
- return true;
- }
- return false;
- }).collect(Collectors.toList());
- List
stringList = Arrays.asList("apple","organge","banana"); - // 获取集合中所有字符串的长度
- // 原来的方式
- List
newList = new ArrayList(); - for (String s : stringList) {
- newList.add(s.length());
- }
- // lambda表达式
- List
newList2 = stringList.stream().map(s -> { - return s.length();
- }).collect(Collectors.toList());
-
- // lambda 表达式
- newList2.forEach(s->{
- System.out.println(s);
- });
注意:lambda表达式中的map函数把每个元素进行转换操作
- List
numList = Arrays.asList(1,2,3,4,5); - // 计算综合
- // 原来的方式
- Integer sum = 0;
- for (Integer s : numList) {
- sum += s;
- }
- // lambda表达式
- sum = numList.stream().reduce(0,(a,b)->{
- return a+b;
- });
- List
dogs = Arrays.asList(new Dog[]{ - new Dog("n1", 12),
- new Dog("n2", 14),
- new Dog("n3", 12)
- });
- // 根据年龄进行分组
- Map
> collect = dogs.stream() - .collect(Collectors.groupingBy(s -> s.getAge()));
- System.out.println(collect);