Java의 Stream.sorted() 메서드는 무엇입니까

Javaui Stream Sorted Meseodeuneun Mueos Ibnikka



Java에서는 프로그래머가 요구 사항에 따라 항목을 정렬해야 하는 특정 인스턴스가 있을 수 있습니다. 예를 들어 정렬되지 않았거나 임의로 생성된 값을 특정(오름차순 또는 내림차순) 방식으로 검색합니다. 그러한 상황에서 “ Stream.sorted() ” 메서드는 개발자 측에서 데이터를 효과적으로 정렬하는 데 도움이 됩니다.

이 기사에서는 Java에서 'Stream.sorted()' 메소드를 사용하고 구현하는 방법에 대해 자세히 설명합니다.







Java의 'Stream.sorted()' 메서드는 무엇입니까?

Stream.sorted() ” 방법은 “ 개울 ' 상호 작용. 이 방법은 원래 스트림의 요소/항목 순서에 영향을 주지 않고 정렬된 스트림을 제공합니다.



통사론



사례 1: 매개변수 없음





스트림 정렬 ( )

사례 2: 매개변수 사용



스트림 정렬 ( 비교 )

이 구문에서 ' 비교 ”는 정렬이 수행되는 기준이 되는 비교기를 나타냅니다.

예제를 진행하기 전에 다음 패키지를 포함해야 합니다. 이 패키지는 클래스, 인터페이스 등으로 구성되어 요소에 대한 기능적 스타일 작업을 허용합니다.

java.util.stream 가져오기. * ;

예제 1: 'Stream.sorted()' 메서드를 적용하여 Java에서 정수 정렬(오름차순 및 내림차순)

스트림.오브() ” 메서드는 주어진 요소에 대한 순차적 스트림을 생성하는 데 사용됩니다. 이 예에서 이 방법은 ' Stream.sorted() ” 정수 스트림을 오름차순 및 내림차순으로 정렬하는 방법:

퍼블릭 클래스 정렬됨 {
공공 정적 무효 메인 ( [ ] 인수 ) {
개울 < 정수 > sortStream1 = 스트림.of ( 2 , 4 , , 5 , 1 ) ;
개울 < 정수 > sortStream2 = Stream.of ( 9 , 6 , 7 , 8 , 10 ) ;
System.out.println ( '첫 번째 스트림은: ' ) ;
sortStream1.sorted ( ) .각각 ( System.out::println ) ;
System.out.println ( ' \N 두 번째 스트림은 다음과 같습니다. ' ) ;
sortStream2.sorted ( ( 가, 나 ) - > b-a ) .각각 ( System.out::println ) ;
} }

이 코드 조각에서:

  • '를 통해 두 개의 서로 다른 정수 스트림을 만듭니다. 의() ' 방법.
  • 그런 다음 ' 정렬() '에서 스트림을 정렬하기 위해 생성된 이전 스트림을 사용하여 ' 오름차순 ' 주문하다.
  • 이제 '를 적용하십시오. 정렬() ” 메서드를 후자의 스트림과 함께 다시 사용하여 “ 내림차순 ” 지정된 비교기에 따라 주문, 즉, “ b-a '.
  • 마지막으로 두 경우 모두 정렬된 정수 스트림을 콘솔에 표시합니다.

산출

이 출력에서 ​​두 스트림이 그에 따라 정렬되었음을 볼 수 있습니다.

다음 예제로 이동하기 전에 아래 제공된 예제를 포함하여 모든 클래스 및 메서드에 액세스하십시오.

java.util을 가져옵니다. * ;

예제 2: 'Stream.sorted()' 메서드를 적용하여 클래스 개체 정렬

이 특정 예에서 설명된 메서드는 전달된 값을 정렬하기 위해 클래스 개체에서 구현될 수 있습니다.

클래스 데이터 {
정수 ID ;
문자열 이름;
데이터 ( 정수 ID ,문자열 이름 ) {
this.id = ID ;
this.이름 = 이름;
}
공개 문자열 toString ( ) {
반품 '아이디=' + this.id
+ ', 이름=' + this.name;
} }
클래스 스트림 정렬 {
공공 정적 무효 메인 ( [ ] 인수 ) {
목록 < 데이터 > 목록 = 새 ArrayList < 데이터 > ( ) ;
목록.추가 ( 새로운 데이터 ( 2 , '괴롭히다' ) ) ;
목록.추가 ( 새로운 데이터 ( 1 , '데이빗' ) ) ;
목록.추가 ( 새로운 데이터 ( , '톰' ) ) ;
개울 < 데이터 > 스트림 = 목록.스트림 ( ) ;
스트림 정렬 ( ( e1, e2 ) - > e1.id - e2.id ) .각각 ( System.out::println ) ;
} }

이 코드 줄에서 다음 단계를 수행합니다.

  • 먼저 '라는 클래스를 선언합니다. 데이터 '.
  • 정의에서 명시된 변수를 지정합니다.
  • 다음 단계에서는 지정된 변수와 동일한 매개변수가 있는 매개변수화된 클래스 생성자를 포함합니다.
  • 생성자 정의에서 지정된 변수를 참조하고 '를 통해 전달된 인수 값을 할당합니다. 이것 '.
  • 이제 ' toString() ” 메서드를 사용하여 전달된 값을 반환합니다.
  • '에서 기본() ” 메서드를 사용하여 클래스 객체 목록을 생성하고 연결된 “ 추가하다() ' 방법.
  • 그런 다음 '를 통해 목록에서 스트림을 가져옵니다. 개울() ' 방법.
  • 또한 ' 정렬() '를 기반으로 두 객체를 비교하는 명시된 비교기가 있는 방법 ID ”에서 오름차순 ” 매너.
  • 마지막으로 ' 각각() ” 메서드를 사용하여 정렬된 개체 스트림을 콘솔에 기록합니다.

산출

이 결과에서 객체 값이 적절하게 정렬된 것으로 분석할 수 있습니다.

결론

Stream.sorted() '는 '에 해당하는 방법입니다. 개울 ” 원본 스트림의 항목/요소 순서에 영향을 주지 않고 정렬된 스트림을 제공하는 인터페이스입니다. 이 방법은 지정된 비교자를 기준으로 뿐만 아니라 기본 방식으로 요소를 정렬합니다. 이 블로그에서는 Java에서 'Stream.sorted()' 메서드를 사용하고 구현하는 방법에 대해 설명했습니다.