如何在Lambda中使用IntStream和Java中的方法引用?
一个IntStream 接口扩展了BaseStream 接口的Java8。它是原始整数值元素的序列,以及用于处理整数值的专用流。我们还可以使用IntStream 接口在lambda表达式 和方法 引用中迭代集合的元素。
语法
public interface IntStream extends BaseStream<Integer, IntStream>
示例1
import java.util.stream.IntStream; public class StringToIntegerStreamTest { public static void main(String[] args) { String str = "nhooo.com"; IntStream stream = str.chars(); stream.forEach(element -> System.out.println(((char)element))); // using lambda expression } }
输出结果
T u t o r i a l s P o i n t
示例2
import java.util.*; import java.util.stream.IntStream; public class IntStreamTest { public static void main(String[] args) { final List<Integer> list = Arrays.asList(1, 2, 3); list.stream().forEach(System.out::println); // Using method reference final IntStream intStream = IntStream.iterate(1, i -> i + 1); final int sum = intStream.limit(100).sum(); System.out.println("sum: " + sum); } }
输出结果
1 2 3 sum: 5050