Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JAVA中,使用流API根据两种不同的条件将数据流拆分为不同的列表_Java_Java 8_Java Stream - Fatal编程技术网

在JAVA中,使用流API根据两种不同的条件将数据流拆分为不同的列表

在JAVA中,使用流API根据两种不同的条件将数据流拆分为不同的列表,java,java-8,java-stream,Java,Java 8,Java Stream,我有一份双份(温度)的清单。说: 1.0,2.0,3.0,4.0,20.0 我需要编写一个函数countTemperatures(t1,t2,range),该函数应该打印一个包含两对的列表:1)温度t1与区间[t1-r..t1+r]中的温度测量次数配对,2)温度t2与区间中的温度测量次数配对[t2-r..t2+r]已测量 示例:CountTemperations(17.0,10.0,2.0)应返回列表((17.0,5),(10.0,5))(因为在17.0-2.0(15)和17.0+2.0(19)

我有一份双份(温度)的清单。说:

1.0,2.0,3.0,4.0,20.0

我需要编写一个函数
countTemperatures(t1,t2,range)
,该函数应该打印一个包含两对的列表:1)温度t1与区间[t1-r..t1+r]中的温度测量次数配对,2)温度t2与区间中的温度测量次数配对[t2-r..t2+r]已测量

示例:CountTemperations(17.0,10.0,2.0)应返回列表((17.0,5),(10.0,5))(因为在17.0-2.0(15)和17.0+2.0(19)之间的范围内总共有5个测量值。即,第二对中的15,16,17,18,19。类似

我需要演示MapReduce(没有任何框架),并且只使用Java8流

我得出了以下结论:

## List<Double> temperature = [1.0, 2.0, 3.0, ......, 20.0]

List<Double> temp = temperature.stream()
                    .collect(Collectors.groupingBy(t -> t>=(t1-r) && t<=(t1+r)));
System.out.println(temp.get(true));
##列出温度=[1.0,2.0,3.0,…,20.0]
列表温度=温度。流()
.collect(collector.groupingBy(t->t>=(t1-r)和&t也许你想要这个


公开课考试{
公共静态void main(字符串[]args){
List tmps=new ArrayList();
for(double i=1.0;i=(param.get(finalI)-param.get(2))&&

(双
分组依据
分区依据
是正确的开始。看看它们返回的类型。为什么需要流?计数不总是等于
(2*范围)+1
?为什么不将
温度
流两次和
计数
相应的
tn
范围的出现次数?countTemperatures只使用两个温度参数,但您有一个列表,我不同步这两个参数。
双倍列表
countTemperatures(t1,t2,range)
如何从列表中选择两个温度
[[17.0, 5.0], [10.0, 5.0]]