.stream().mapToInt(i->;i)在Java中是什么意思? 类解决方案{ 公共int[]解压缩列表(int[]nums){ Listans=新的ArrayList(); 对于(int i=0;i

.stream().mapToInt(i->;i)在Java中是什么意思? 类解决方案{ 公共int[]解压缩列表(int[]nums){ Listans=新的ArrayList(); 对于(int i=0;i,java,Java,我不理解最后一行。通常mapToInt将每个项目从一个流映射到int。它还创建了一个IntStream,该流具有用于基本类型int的专门方法 在这种特定情况下,该方法用于将Integer(包装对象)转换为int原语类型。使用IntStream可以创建实际的int[]而不是Integer[] 它归结为理解基本类型和它们的包装之间的区别,特别是自动装箱 Related?,特别是我更喜欢返回ans.stream().mapToInt(Integer::intValue).toArray(); clas

我不理解最后一行。

通常
mapToInt
将每个项目从一个流映射到
int
。它还创建了一个
IntStream
,该流具有用于基本类型
int
的专门方法

在这种特定情况下,该方法用于将
Integer
(包装对象)转换为
int
原语类型。使用
IntStream
可以创建实际的
int[]
而不是
Integer[]

它归结为理解基本类型和它们的包装之间的区别,特别是自动装箱


Related?,特别是我更喜欢
返回ans.stream().mapToInt(Integer::intValue).toArray();
class Solution {
public int[] decompressRLElist(int[] nums) {
    List<Integer>ans = new ArrayList<>();
    for (int i = 0; i < nums.length; i += 2)
        for (int j = 0; j < nums[i]; ++j) 
            ans.add(nums[i + 1]);
    return ans.stream().mapToInt(i -> i).toArray();`