«java-stream» 태그된 질문

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

2
이 Java 8 Stream collect () 메소드를 이해하는 방법은 무엇입니까?
int 배열을 List로 변환하려고했지만 Java 8 Stream을 사용하는 익숙하지 않은 경로를 사용하여이를 생각해 냈습니다. Arrays.stream(arr).boxed().collect(Collectors.toList()); 나는 아직도이 선을 완전히 이해하는데 어려움을 겪고있다. Collectors.toList()이 경우 ArrayList<Integer>구현 List인터페이스를 반환하는 이유는 무엇 입니까? 인터페이스를 LinkedList<Integer>준수하는 다른 일반 클래스가 아닌 이유는 무엇 List입니까? 나는 이것에 대해 아무것도 찾을 ArrayList를 언급하는 간단한을 제외 할 수없는 …

2
알 수없는 크기의 불균형 분배기를 재조정 할 수 있습니까?
Stream알 수없는 번호의 이기종 원격 저장된 JSON 파일 세트를 병렬 처리 하는 데 사용하고 싶습니다 (파일 수는 미리 알려지지 않았습니다). 파일의 크기는 파일 당 1 개의 JSON 레코드부터 다른 파일의 100,000 개까지 다양 할 수 있습니다. JSON 기록 이 경우 파일에서 한 줄로 표시되는 독립적 인 JSON 객체를 의미한다. 실제로 …

3
자바 병렬 스트림-parallel () 메소드 호출 순서 [닫기]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 4 일 전 . AtomicInteger recordNumber = new AtomicInteger(); Files.lines(inputFile.toPath(), StandardCharsets.UTF_8) .map(record -> new Record(recordNumber.incrementAndGet(), record)) .parallel() .filter(record -> doSomeOperation()) .findFirst() …
11 java  java-stream 

3
A가 a보다 먼저, B가 b보다 먼저 오는 방식으로 사용자 정의 정렬
다음과 같은 색상 목록이 있습니다. 핑크, 블루, 레드, 블루, 그레이, 그린, 퍼플, 블랙 ... 등 List<String> listOfColors = Arrays.asList("Pink", "Blue", "Red", "blue", "Grey", "green", "purple", "black"); 일부 과일 색상을 필터링하는 것과 같은 중간 작업이 있습니다. 이제 필터링 된 결과가 순서대로 정렬되도록 남겨 둡니다. 블루, 블랙, 블루, 그레이, 그린, 핑크, 퍼플, …

2
Java8에서 데이터 목록 정리
데이터 목록을 정리하기 위해 수행 할 데이터 목록과 정리 작업 목록을 승인하는 방법을 만들었습니다. public <T> List<T> cleanData(List<T> data, List<Function<T, T>> cleanOps) { List<T>dataNew=data.stream().map((str) -> { T cleanData = str; for(Function<T,T> function:cleanOps) { cleanData=function.apply(cleanData); } return cleanData; }).collect(Collectors.toList()); return dataNew; } 여기서 문제는 전체 목록을 다시 작성하여 Collectors.toList()새 목록 을 …

4
Java 8 Stream API에서 peek () 및 allMatch ()가 함께 작동하는 방법
다음과 같이 peek 메소드의 Java 8 Stream API에 대한 퀴즈를 찾았습니다. Arrays.asList("Fred", "Jim", "Sheila") .stream() .peek(System.out::println) .allMatch(s -> s.startsWith("F")); 출력은 Fred Jim 이 스트림이 어떻게 작동하는지 혼란 스럽습니까? 내 예상 결과는 Fred Jim Sheila peek () 메서드는 중간 작업이며 Stream의 각 요소를 처리합니다. 누구든지 이것을 설명 할 수 있습니까?

8
조건부 스트림에서 첫 번째 (0 인덱스 포함) 요소 제거
다음 코드가 있습니다. Stream<String> lines = reader.lines(); fist string이 같으면 "email"Stream에서 첫 번째 문자열을 제거하고 싶습니다. 스트림의 다른 문자열의 경우이 검사가 필요하지 않습니다. 어떻게 아파요? 추신 물론 목록으로 변환 한 다음 구식 학교 for 루프를 사용할 수 있지만 다시 스트림이 필요합니다.

6
자바의 주어진지도 값에서 최신 날짜를 찾는 방법
문자열 데이터 유형으로 날짜 값을 가진 아래 값을 가진 해시 맵이 있습니다. 지도에서 사용할 수있는 모든 날짜를 비교하고 최근 날짜가있는 하나의 키-값 만 추출하고 싶습니다. 키가 아닌 값과 비교하고 싶습니다. 아래 코드를 포함 시켰습니다 import java.util.HashMap; import java.util.Map; public class Test { public static void main(String[] args) { Map<String, String> …

4
스트림으로 예외 처리
나는 목록에있는 각각 이 다음을 나타 내기 때문에 Map<String,List<String>>로 바꾸고 싶다 .Map<String,List<Long>>StringLong Map<String,List<String>> input = ...; Map<String,List<Long>> output= input.entrySet() .stream() .collect(toMap(Entry::getKey, e -> e.getValue().stream() .map(Long::valueOf) .collect(toList())) ); 내 주요 문제는 각각 String올바르게 표시되지 않을 수 있습니다 Long; 문제가있을 수 있습니다. Long::valueOf예외가 발생할 수 있습니다. 이 경우 null 또는 빈 값을 …

4
HashMap의 값을 반복하고 복사하는 효율적인 방법
변환하고 싶습니다 : Map<String, Map<String, List<Map<String, String>>>> inputMap 에: Map<String, Map<String, CustomObject>> customMap inputMap구성에 제공되며 준비되었지만 customMap형식을 지정 해야합니다 . CustomObject는 List<Map<String, String>>함수에서 몇 줄의 코드 를 사용하여 파생됩니다 . 입력 맵을 반복하고 customMap에서 키 값을 복사하는 일반적인 방법을 시도했습니다. Java 8 또는 다른 바로 가기를 사용하여 효율적인 방법이 있습니까? …

3
Java 스트림 : 여러 범위의 필터
리소스를 필터링하고 필드를 기반으로 일부 요소를 제외하려고합니다. 제외하려면 세트 (제외 해야하는 ID가 포함되어 있음)와 목록 (제외 해야하는 여러 범위의 ID가 포함되어 있음)가 있습니다. 아래 논리를 작성했으며 두 번째 필터 논리에 만족하지 않습니다. Java 8로 더 나은 방법이 있습니까? 범위를 포함하기 위해 동일한 작업을 수행해야합니다. Set<String> extensionsToExclude = new HashSet<>(Arrays.asList("20","25","60","900")); List<String> …

4
Java 스트림을 사용하여 직원 목록에서 특정 날짜 전후에 직원을 확보하십시오.
내가 가진 List의 Employee다른 가입 기간에의. 스트림을 사용하여 목록에서 특정 날짜를 시작하기 전후에 직원을 확보하고 싶습니다. 나는 다음 코드를 시도했다. List<Employee> employeeListAfter = employeeList.stream() .filter(e -> e.joiningDate.isAfter(specificDate)) .collect(Collectors.toList()); List<Employee> employeeListBefore = employeeList.stream() .filter(e -> e.joiningDate.isBefore(specificDate)) .collect(Collectors.toList()); class Employee{ int id; String name; LocalDate joiningDate; } 단일 스트림 에서이 작업을 수행 …

5
각 요청 항목에 대해 여러 스레드를 작성하는 방법
주문 수준에서 멀티 스레딩을 사용하여 아래 코드를 처리하려고합니다. List<String> orders = Arrays.asList("order1", "order2", "order3", "order4", "order1"); 현재 순차 실행 : orders.stream().forEach(order -> { rules.forEach(rule -> { finalList.add(beanMapper.getBean(rule) .applyRule(createTemplate.apply(getMetaData.apply(rule), command), order)); }); }); 나는 다음을 사용하려고 시도했다. orders.parallelStream().forEach(order -> {}} // code snippet. 그러나 rules.forEach (rule-> {}} 순서 가 변경 됩니다. …

3
대용량 데이터 파일을 한 줄씩 복사하는 방법?
35GB CSV파일이 있습니다. 각 줄을 읽고 조건과 일치하면 줄을 새 CSV에 씁니다. try (BufferedWriter writer = Files.newBufferedWriter(Paths.get("source.csv"))) { try (BufferedReader br = Files.newBufferedReader(Paths.get("target.csv"))) { br.lines().parallel() .filter(line -> StringUtils.isNotBlank(line)) //bit more complex in real world .forEach(line -> { writer.write(line + "\n"); }); } } 이것은 대략 소요됩니다. 7 분 그 과정을 …

3
java 8 Streams를 사용하여 목록이 비어 있으면 기본 목록을 반환합니까?
권장 제품이 비어 있는지 명시 적으로 확인 하는 대신 아래의 하나의 스트림 작업 집합으로 아래를 수행 할 수있는 방법이 있습니까? 그렇지 않으면 기본 목록을 반환하고 그렇지 않으면 필터링 된 목록을 반환 합니까? public List<Product> getRecommendedProducts() { List<Product> recommendedProducts = this.newProducts .stream() .filter(isAvailable) .collect(Collectors.toList()); if (recommendedProducts.isEmpty()) { return DEFAULT_PRODUCTS; } return …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.