基于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));
}
}
结果:
通过stream流来遍历:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Test3 {
public static void main(String[] args) {
List<Integer> 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));
}
}
结果:
说明:
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<Integer> list= Arrays.asList(19,23,45,55);
List<ProductInfo> 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()));
}
}