«java-stream» 태그된 질문

Stream API 사용과 관련된 질문에이 태그를 사용하십시오. Java 8에 도입되었으며 콜렉션의 필터 맵 감소 파이프 라인과 같은 값 스트림에서 기능 스타일 조작을 지원합니다.

7
Java 8 Streams FlatMap 메서드 예제
나는 다가오는 Java update, 즉 : Java 8 or JDK 8. 예, 참을성이없고 새로운 것이 많이 있지만 이해하지 못하는 것이 있습니다. 간단한 코드가 있습니다. final Stream<Integer>stream = Stream.of(1,2,3,4,5,6,7,8,9,10); stream.flatMap(); javadocs는 public <R> Stream<R> flatMap(Function<? super T,? extends Stream<? extends R>> mapper) 이 스트림의 각 요소를 제공된 매핑 함수를 각 요소에 …

5
Stream.allMatch ()가 빈 스트림에 대해 true를 반환하는 이유는 무엇입니까?
제 동료와 저는 빈 스트림 호출 allMatch()이 반환 될 것이라는 가정으로 인해 버그가 발생했습니다 false. if (myItems.allMatch(i -> i.isValid()) { //do something } 물론 문서를 읽지 않고 가정하는 것은 우리의 잘못입니다. 그러나 내가 이해하지 못하는 allMatch()것은 빈 스트림에 대한 기본 동작이 true. 그 이유는 무엇입니까? anyMatch()(반대로 false를 반환하는) 와 마찬가지로이 …

9
자바 8 : 줄 바꿈 및 들여 쓰기로 람다 서식 지정
람다 들여 쓰기로 달성하고 싶은 것은 다음과 같습니다. 여러 줄 문 : String[] ppl = new String[] { "Karen (F)", "Kevin (M)", "Lee (M)", "Joan (F)", "Des (M)", "Rick (M)" }; List<String> strings = Arrays.stream(ppl) .filter( (x) -> { return x.contains("(M)"); } ).collect(Collectors.toList()); strings.stream().forEach(System.out::println); 한 줄 문 : List<String> strings …

5
Java 8 스트림을 Guava ImmutableCollection으로 수집하려면 어떻게해야합니까?
다음을 수행하고 싶습니다. List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList()); 그러나 결과 목록은 Guava의 ImmutableList. 내가 할 수 있다는 걸 알아 List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList()); List<Integer> immutableList = ImmutableList.copyOf(list); 하지만 직접 수집하고 싶습니다. 난 노력 했어 List<Integer> list = IntStream.range(0, 7) .collect(Collectors.toCollection(ImmutableList::of)); 하지만 예외가 발생했습니다. com.google.common.collect.ImmutableCollection.add (ImmutableCollection.java:96)의 java.lang.UnsupportedOperationException

4
스트림에서 Collections.toMap ()을 사용할 때 목록의 반복 순서를 어떻게 유지합니까?
다음과 같이 Map에서 생성하고 List있습니다. List<String> strings = Arrays.asList("a", "bb", "ccc"); Map<String, Integer> map = strings.stream() .collect(Collectors.toMap(Function.identity(), String::length)); 에서와 동일한 반복 순서를 유지하고 싶습니다 List. 방법을 LinkedHashMap사용하여 어떻게 만들 수 Collectors.toMap()있습니까?

10
Java 8 : 람다 반복 횟수를 계산하는 선호하는 방법?
나는 종종 같은 문제에 직면합니다. 람다 외부에서 사용하기 위해 람다의 실행을 계산해야합니다. 예 : myStream.stream().filter(...).forEach(item->{ ... ; runCount++); System.out.println("The lambda ran "+runCount+"times"); 문제는 runCount가 final이어야하므로 int가 될 수 없다는 것입니다. 그것은 불변이기 때문에 정수가 될 수 없습니다. 클래스 수준 변수 (예 : 필드)로 만들 수 있지만이 코드 블록에서만 필요합니다. 여러 …

6
Java8 : 목록에있는 개체의 특정 필드 값 합계
Obj 클래스가 있다고 가정하십시오. class Obj{ int field; } Obj인스턴스 목록 , 즉 List<Obj> lst. 이제 Java8 에서 필터링 기준 (예 : 객체 의 경우 기준은 ) 아래 field목록 lst에있는 객체 의 int 필드 값의 합계를 스트림과 함께 어떻게 찾을 수 있습니까?oo.field > 10


4
자바 8 : 스트림 API로 목록 병합
나는 다음과 같은 상황이 있습니다 Map<Key, ListContainer> map; public class ListContainer{ List<AClass> lst; } 지도 lst에서 ListContainer개체의 모든 목록을 병합해야합니다 Map. public static void main(String args[]){ List<AClass> alltheObjectsAClass = map.values().stream(). // continue.... } Java 8 스트림 API를 사용하여 어떻게 생각하십니까?

3
스트림에서 instanceof 확인
다음식이 있습니다. scheduleIntervalContainers.stream() .filter(sic -> ((ScheduleIntervalContainer) sic).getStartTime() != ((ScheduleIntervalContainer)sic).getEndTime()) .collect(Collectors.toList()); ... scheduleIntervalContainers요소 유형이 있는 위치 ScheduleContainer: final List<ScheduleContainer> scheduleIntervalContainers 필터 전에 타입을 확인할 수 있습니까?

3
카운트에서 평가되지 않은 중간 스트림 작업
Java가 스트림 작업을 스트림 파이프 라인으로 구성하는 방법을 이해하는 데 어려움을 겪고있는 것 같습니다. 다음 코드를 실행할 때 public static void main(String[] args) { StringBuilder sb = new StringBuilder(); var count = Stream.of(new String[]{"1", "2", "3", "4"}) .map(sb::append) .count(); System.out.println(count); System.out.println(sb.toString()); } 콘솔 만 인쇄합니다 4. StringBuilder객체는 여전히 값을 가진다 …
33 java  java-stream 

2
숫자가 0 일 때 스트림으로 limit (number) 호출을 건너 뛰려면 어떻게해야합니까?
에서 객체를 제공하는 Java 코드가 있습니다 items. 다음을 기반으로 제한합니다 maxNumber. items.stream() .map(this::myMapper) .filter(item -> item != null) .limit(maxNumber) .collect(Collectors.toList()); 제대로 작동하지만 문제는 다음과 같습니다. 제한 시간을 건너 뛸 수있는 방법이 maxNumber == 0있습니까? 나는 이것을 할 수 있다는 것을 안다. if (maxNumber == 0) { items.stream() .map(this::myMapper) .filter(item -> …


3
병렬 무한 Java 스트림에 메모리 부족
다음 Java 프로그램이 왜을 제공하는지 OutOfMemoryError, 해당 프로그램이없는 이유를 이해하려고합니다 .parallel(). System.out.println(Stream .iterate(1, i -> i+1) .parallel() .flatMap(n -> Stream.iterate(n, i -> i+n)) .mapToInt(Integer::intValue) .limit(100_000_000) .sum() ); 두 가지 질문이 있습니다. 이 프로그램의 의도 된 결과는 무엇입니까? .parallel()이것이 없으면 단순히 출력 sum(1+2+3+...)되는 것 같습니다 . 이는 flatMap의 첫 번째 스트림에서 …

5
지도에서 고유 한 값으로지도를 생성하고 BinaryOperator를 사용하여 올바른 키를 사용하는 방법은 무엇입니까?
나는지도를 가지고 있으며 Map<K, V>목표는 중복 된 값을 제거하고 동일한 구조를 Map<K, V>다시 출력하는 것 입니다. 중복 값이 발견되는 경우, 하나의 키 (이 선택해야합니다 k두 개의 키 (에서) k1하고 k1이 값을 유지),이 이유로 가정 BinaryOperator<K>주는 k에서 k1하고 k2사용할 수 있습니다. 입력 및 출력 예 : // Input Map<Integer, String> map …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.