«java-stream» 태그된 질문

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

21
Java 8 List <V>를 Map <K, V>로
Java 8의 스트림과 람다를 사용하여 객체 목록을 Map으로 변환하고 싶습니다. 이것이 Java 7 이하에서 작성하는 방법입니다. private Map&lt;String, Choice&gt; nameMap(List&lt;Choice&gt; choices) { final Map&lt;String, Choice&gt; hashMap = new HashMap&lt;&gt;(); for (final Choice choice : choices) { hashMap.put(choice.getName(), choice); } return hashMap; } Java 8 및 Guava를 사용하여 쉽게 수행 할 …



6
가능하면 항상 병렬 스트림을 사용해야합니까?
Java 8 및 람다를 사용하면 컬렉션을 스트림으로 반복하고 병렬 스트림을 사용하기가 쉽습니다. docs의 두 가지 예 , parallelStream을 사용하는 두 번째 예 : myShapesCollection.stream() .filter(e -&gt; e.getColor() == Color.RED) .forEach(e -&gt; System.out.println(e.getName())); myShapesCollection.parallelStream() // &lt;-- This one uses parallel .filter(e -&gt; e.getColor() == Color.RED) .forEach(e -&gt; System.out.println(e.getName())); 주문에 신경 쓰지 …

6
술어로 첫 번째 요소 찾기
방금 Java 8 람다로 연주하기 시작했으며 기능적 언어로 익숙한 것들 중 일부를 구현하려고합니다. 예를 들어, 대부분의 기능적 언어에는 시퀀스에서 작동하는 일종의 찾기 함수 또는 술어가 첫 번째 요소를 리턴하는 목록이 true있습니다. Java 8에서 이것을 달성하는 유일한 방법은 다음과 같습니다. lst.stream() .filter(x -&gt; x &gt; 5) .findFirst() 그러나 필터가 적어도 내 …
504 java  java-8  java-stream 

8
Java 8 Iterable.forEach () 대 foreach 루프
На этот вопрос есть ответы на 스택 오버플로 на русском : Цикл foreach는 против Iterable.foreach в 자바 8 : что лучше? 다음 중 Java 8에서 더 나은 방법은 무엇입니까? 자바 8 : joins.forEach(join -&gt; mIrc.join(mSession, join)); 자바 7 : for (String join : joins) { mIrc.join(mSession, join); } 람다로 "단순화"될 …

27
속성 별 Java 8 구별
Java 8 Stream에서 각 객체의 속성이 다른지 확인하여 API를 사용하여 컬렉션을 필터링하려면 어떻게해야합니까? 예를 들어 Person객체 목록이 있고 같은 이름을 가진 사람을 삭제하고 싶습니다. persons.stream().distinct(); Person객체에 기본 평등 검사를 사용 하므로 다음과 같은 것이 필요합니다. persons.stream().distinct(p -&gt; p.getName()); 불행히도이 distinct()방법에는 그러한 과부하가 없습니다. Person클래스 내부의 동등성 검사를 수정하지 않고 간결하게 …

14
Java 8의 java.util.stream.Stream에서 목록 검색
컬렉션을 쉽게 필터링하기 위해 Java 8 람다로 놀고있었습니다. 그러나 나는 동일한 진술 내에서 결과를 새로운 목록으로 검색하는 간결한 방법을 찾지 못했습니다. 지금까지 가장 간결한 접근 방식은 다음과 같습니다. List&lt;Long&gt; sourceLongList = Arrays.asList(1L, 10L, 50L, 80L, 100L, 120L, 133L, 333L); List&lt;Long&gt; targetLongList = new ArrayList&lt;&gt;(); sourceLongList.stream().filter(l -&gt; l &gt; 100).forEach(targetLongList::add); 그물에있는 …


14
Java 8 병렬 스트림의 사용자 정의 스레드 풀
Java 8 병렬 스트림에 대한 사용자 정의 스레드 풀을 지정할 수 있습니까? 어디서나 찾을 수 없습니다. 서버 응용 프로그램이 있고 병렬 스트림을 사용하고 싶다고 가정하십시오. 그러나 응용 프로그램은 크고 멀티 스레드이므로 구획화하고 싶습니다. 한 모듈의 응용 프로그램에서 다른 모듈의 작업을 느리게 실행하고 싶지 않습니다. 다른 모듈에 대해 다른 스레드 풀을 …

22
Java 8에서 인덱스를 사용하여 스트림을 반복하는 간결한 방법이 있습니까?
스트림의 인덱스에 액세스하면서 스트림을 반복하는 간결한 방법이 있습니까? String[] names = {"Sam","Pamela", "Dave", "Pascal", "Erik"}; List&lt;String&gt; nameList; Stream&lt;Integer&gt; indices = intRange(1, names.length).boxed(); nameList = zip(indices, stream(names), SimpleEntry::new) .filter(e -&gt; e.getValue().length() &lt;= e.getKey()) .map(Entry::getValue) .collect(toList()); LINQ 예제에 비해 다소 실망스러워 보입니다. string[] names = { "Sam", "Pamela", "Dave", "Pascal", "Erik" }; …
382 java  java-8  java-stream 


12
Collectors.toMap의 Java 8 NullPointerException
Java 8 은 값 중 하나가 'null'인 경우 Collectors.toMapa를 던집니다 NullPointerException. 이 동작을 이해하지 못합니다.지도에는 아무런 문제없이 null 포인터가 값으로 포함될 수 있습니다. 값이 널이 될 수없는 이유가 Collectors.toMap있습니까? 또한 이것을 고치는 멋진 Java 8 방법이 있습니까? 아니면 평범한 오래된 for 루프로 되돌려 야합니까? 내 문제의 예 : import java.util.ArrayList; …

17
Java 8 스트림 내부에서 CHECKED 예외를 발생시키는 방법은 무엇입니까?
Java 8 스트림 / 람다에서 CHECKED 예외를 던질 수 있습니까? 다시 말해,이 컴파일과 같은 코드를 만들고 싶습니다. public List&lt;Class&gt; getClasses() throws ClassNotFoundException { List&lt;Class&gt; classes = Stream.of("java.lang.Object", "java.lang.Integer", "java.lang.String") .map(className -&gt; Class.forName(className)) .collect(Collectors.toList()); return classes; } 이 Class.forName()메소드는 위 의 메소드 ClassNotFoundException가를 검사 하므로 컴파일되지 않습니다 . 확인 된 예외를 …


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