基于java8的for循环

基于java8的for循环

import java.util.ArrayList;
import java.util.List;

public class Test2 {
    public static void main(String[] args) {
        List list=new ArrayList();
        list.add(123);
        list.add("458");
        list.add("hello");
        //n是object类型的,可以自定义
        list.forEach(n->System.out.println(n));
    }
}

结果:

基于java8的for循环_第1张图片

通过stream流来遍历:


import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Test3 {
    public static void main(String[] args) {
        List list = Arrays.asList(100,200,300,400);
        //stream()把集合转成了流
        //map(方法), 把流里面的每个元素都执行一些
        //map里面的方法,转换了一下。
        //collect(Collectors.toList()) 把转换以后的元素
        //收集起来放到一个新的list里面
        List ls=   list.stream().map((cost)->cost + cost * .12).collect(Collectors.toList());
        //遍历集合costBeforeTax,并且打印里面的元素
        ls.forEach(a->System.out.println(a));
    }
}

结果:

基于java8的for循环_第2张图片

说明:

a.关于set集合与list集合差不多,但是,set集合是不能有重复的元素的.
b.在list.stream().map()中要使用运算的时候,要事先声明list的类型.

例子:把一个集合的元素存放到另一个集合中

(只有我知道是什么类型)

import com.gzq.entity.ProductInfo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Test4 {
    public static void main(String[] args) {
        List  list= Arrays.asList(19,23,45,55);
        List productInfos=new ArrayList<>();
        list.forEach(a->{
            ProductInfo productInfo=new ProductInfo();
            productInfo.setProductPrice(BigDecimal.valueOf(a));
            productInfos.add(productInfo);
        });
        productInfos.forEach(a->System.out.println(a.getProductPrice()));
    }
}

结果:

基于java8的for循环_第3张图片

你可能感兴趣的:(learn)