整数列表到双列表Java 8并行流
无法从Java流中收集以下代码的列表整数列表到双列表Java 8并行流,java,Java,无法从Java流中收集以下代码的列表 public class BaseCLass { public static void main(String[] args) { BaseCLass base = new BaseCLass(); List<Integer> ints = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // Error While Assign
public class BaseCLass {
public static void main(String[] args) {
BaseCLass base = new BaseCLass();
List<Integer> ints = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// Error While Assign
List<Integer> doubleOfInt = ints.parallelStream().forEach(i -> base.doubleIt(i));
}
public int doubleIt(int i) {
return i * i;
}
}
公共类基类{
公共静态void main(字符串[]args){
BaseCLass base=新的BaseCLass();
List ints=Arrays.asList(1,2,3,4,5,6,7,8,9,10);
//分配时出错
List doubleofit=ints.parallelStream().forEach(i->base.doubleIt(i));
}
公共int doubleIt(int i){
返回i*i;
}
}
应该是这样的
List<Double> doubleOfInt = ints.parallelStream().mapToDouble(i->i)
.boxed().collect(Collectors.toList());
List doubleOfInt=ints.parallelStream().mapToDouble(i->i)
.boxed().collect(collector.toList());
然后收集它:
List doubleofit=ints.parallelStream().map(i->base.doubleIt(i)).collect(Collectors.toList())
但是:您的方法
doubleIt
不会将值加倍,而是将它们平方您不收集。您正在使用forEach。按文本所述执行:)。我需要收集DoubleOfInList中的double of值