0
다음 코드는 작동합니다. 내 목표는 최대입니다 노드 수의 수를 얻고 스트림을 사용하여이 작업을 수행하는 더 나은 방법이 있는지 궁금스트림을 사용하여 값 목록을 다른 목록으로 변환
Map<Boolean, Long> counting = nodes.stream()
.collect(Collectors.groupingBy(ClusterNode::IsUp,Collectors.counting()));
List<DataPoint> dps = counting.keySet().stream()
.map(k -> new DataPoint(timestamp, counting.get(k).toString(), cluster, k.toString()))
.collect(Collectors.toList());
아래로하는 것입니다. 하나의 작업으로 결합 될 수 있습니까? 당신은 마무리 작업, 예를 들어, 같은 집에 두 번째 작업을 병합 할 수
List<DataPoint> dps = nodes.stream()
.collect(Collectors.partitioningBy(ClusterNode::IsUp, Collectors.counting()))
.entrySet().stream()
.map(e->new DataPoint(timestamp, e.getValue().toString(), cluster, e.getKey().toString()))
.collect(Collectors.toList());
:
이 코드는 컴파일되지 않으므로 작동하지 않습니다. – Tunaki
... 그리고 여전히 컴파일 할 수 없다는 것을 알 수 있습니다. 코드를 그대로 복사하여 붙여 넣는 것이 어떻습니까? 그리고, 아니, 스트림 API를 사용하여, 당신은 이것을 할 수있는 더 좋은 방법이 없을 것입니다, 아마도 StreamEx 라이브러리를 들여다 보겠습니다. [이 답변을 참조하십시오] (http://stackoverflow.com/a/36445457/1743880)). – Tunaki
두 번째 성명서로 무엇을하고 있습니까? –