>  기사  >  Java  >  Java에서 Stream API를 사용하여 컬렉션에 대한 기능적 작업을 수행하는 방법은 무엇입니까?

Java에서 Stream API를 사용하여 컬렉션에 대한 기능적 작업을 수행하는 방법은 무엇입니까?

WBOY
WBOY원래의
2023-08-02 15:13:091002검색

Java에서 Stream API를 사용하여 컬렉션에 대한 기능적 작업을 수행하는 방법은 무엇입니까?

Java 8이 출시되면서 Stream API가 도입되어 컬렉션에 대한 기능적 작업을 더욱 간결하고 효율적으로 만들었습니다. Stream API는 선언적 방식으로 컬렉션을 처리할 수 있는 새로운 컬렉션 처리 방법을 제공합니다. 이를 통해 코드의 복잡성을 줄이고 코드의 가독성과 유지 관리성을 향상시킬 수 있습니다. 이 기사에서는 Java에서 Stream API를 사용하여 컬렉션에 대한 기능적 작업을 수행하는 방법을 자세히 소개합니다.

먼저 Stream API의 기본 개념을 이해해야 합니다. 스트림은 배열, 컬렉션 등과 같은 모든 데이터 소스에서 나올 수 있는 일련의 데이터 요소를 나타냅니다. Stream과 컬렉션의 차이점은 데이터 자체를 저장하는 것이 아니라 요청 시 계산된 데이터를 저장한다는 것입니다. 즉, 새 컬렉션을 만들지 않고도 데이터에 대해 여러 작업을 수행할 수 있습니다. Stream API는 데이터에 대한 필터링, 매핑, 정렬 및 기타 작업을 위한 다양한 방법을 제공합니다. 이러한 메서드는 체인으로 호출되어 처리 흐름을 형성하고 최종적으로 원하는 결과를 얻을 수 있습니다.

다음은 Stream API를 사용하여 컬렉션에 대한 기능적 작업을 수행하는 방법을 보여주는 몇 가지 예입니다.

  1. Filter data

먼저, 조건에 맞는 데이터를 필터링하기 위해 filter 메소드를 사용할 수 있습니다. 예를 들어, 정수 세트가 있고 10보다 큰 요소를 찾고 싶습니다.

List<Integer> numbers = Arrays.asList(1, 5, 10, 15, 20);
List<Integer> result = numbers.stream()
                              .filter(n -> n > 10)
                              .collect(Collectors.toList());
System.out.println(result); // 输出 [15, 20]
  1. 데이터 변환

데이터 필터링 외에도 지도 방법을 사용하여 데이터를 매핑할 수도 있습니다. 예를 들어, 문자열 컬렉션이 있고 각 문자열을 대문자로 변환하려고 합니다.

List<String> words = Arrays.asList("hello", "world", "Java", "stream");
List<String> result = words.stream()
                           .map(String::toUpperCase)
                           .collect(Collectors.toList());
System.out.println(result); // 输出 [HELLO, WORLD, JAVA, STREAM]
  1. Sort data

또한 sorted 메서드를 사용하여 데이터를 정렬할 수도 있습니다. 예를 들어 정수 컬렉션이 있고 이를 가장 작은 것부터 가장 큰 것 순으로 정렬하려고 합니다.

List<Integer> numbers = Arrays.asList(5, 2, 10, 1, 8);
List<Integer> result = numbers.stream()
                              .sorted()
                              .collect(Collectors.toList());
System.out.println(result); // 输出 [1, 2, 5, 8, 10]
  1. Statistics

또한 Stream API는 count, min, max, sum 등과 같은 몇 가지 간단한 통계 방법도 제공합니다. 예를 들어, 정수 세트가 있고 그 평균을 계산하려고 합니다.

List<Integer> numbers = Arrays.asList(5, 2, 10, 1, 8);
double average = numbers.stream()
                        .mapToDouble(Integer::doubleValue)
                        .average()
                        .orElse(0);
System.out.println(average); // 输出 5.2

위의 예를 통해 Stream API를 사용하면 코드가 더 명확하고 간결해질 수 있음을 알 수 있습니다. Stream API는 필터링, 매핑, 정렬, 통계 및 기타 작업을 위한 다양한 방법을 제공합니다. 이러한 메소드를 연결함으로써 복잡한 데이터 처리 로직을 구현할 수 있습니다. 동시에 Stream API는 멀티 코어 프로세서의 장점을 최대한 활용하고 처리 효율성을 향상시킬 수 있는 병렬 처리를 지원합니다.

요약하자면, Java에서 Stream API를 사용하여 컬렉션에 대한 기능적 작업을 수행하면 코드를 크게 단순화하고 코드의 가독성과 유지 관리성을 향상시킬 수 있습니다. 이 글의 소개를 통해 Stream API의 사용법을 좀 더 잘 이해할 수 있기를 바랍니다. Stream API가 제공하는 강력한 기능을 최대한 활용하여 실제 개발의 효율성을 높여보겠습니다.

위 내용은 Java에서 Stream API를 사용하여 컬렉션에 대한 기능적 작업을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.