温馨提示×

Java中list.stream方法的映射操作有哪些

小樊
108
2024-08-13 12:20:37
栏目: 编程语言

在Java中,List的stream方法可以通过映射操作来对其中的元素进行转换或处理。常用的映射操作有以下几种:

  1. map:将列表中的元素按照指定的规则进行映射转换,返回一个新的Stream。
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> result = list.stream().map(x -> x * 2).collect(Collectors.toList());
// result: [2, 4, 6, 8, 10]
  1. flatMap:将列表中的元素按照指定的规则进行映射转换,并将各个元素的Stream合并为一个新的Stream。
List<List<Integer>> lists = Arrays.asList(Arrays.asList(1, 2), Arrays.asList(3, 4), Arrays.asList(5, 6));
List<Integer> result = lists.stream().flatMap(Collection::stream).collect(Collectors.toList());
// result: [1, 2, 3, 4, 5, 6]
  1. mapToInt、mapToLong、mapToDouble:将列表中的元素映射为int、long、double类型的值。
List<String> list = Arrays.asList("1", "2", "3", "4", "5");
int sum = list.stream().mapToInt(Integer::parseInt).sum();
// sum: 15
  1. mapToObj:将int、long、double类型的值映射为对象类型的值。
int[] arr = {1, 2, 3, 4, 5};
List<Integer> list = Arrays.stream(arr).mapToObj(Integer::valueOf).collect(Collectors.toList());
// list: [1, 2, 3, 4, 5]

0