Stream API는 Java 8에 도입되어 컬렉션 작업을 크게 단순화합니다. Stream 클래스는 필터링, 매핑, 병합 등을 포함하여 스트림 작업을 위한 다양한 기능적 메서드를 제공합니다. 그 중 Limit과 Skip은 스트림 작업에서 요소 수를 제한하는 데 사용되는 두 가지 기능입니다.
1. 제한 기능
제한 기능은 스트림의 요소 수를 제한하는 데 사용되며 제한 수를 나타내는 긴 유형 매개 변수 n을 허용합니다. 제한 함수를 호출한 후 원래 스트림의 처음 n개 요소만 포함하는 새 스트림이 반환됩니다. 예:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5); list.stream().limit(3).forEach(System.out::print);
위 코드의 출력 결과는 1 2 3입니다. 이 예제에서는 stream 메소드를 통해 List 컬렉션을 Stream으로 변환한 다음, Limit 메소드를 사용하여 스트림의 요소를 제한하고 마지막으로 forEach 메소드를 통해 결과를 출력합니다.
2. 건너뛰기 기능
건너뛰기 함수는 건너뛸 수를 나타내는 긴 유형 매개변수 n을 허용합니다. 건너뛰기 함수를 호출한 후 원래 스트림의 처음 n개 요소를 건너뛰는 새 스트림이 반환됩니다. 예:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5); list.stream().skip(2).forEach(System.out::print);
위 코드의 출력 결과는 3 4 5입니다. 이 예제에서는 stream 메소드를 통해 List 컬렉션을 Stream으로 변환한 다음, Skip 메소드를 사용하여 처음 두 요소를 건너뛰고 마지막으로 forEach 메소드를 통해 결과를 출력합니다.
3. 리미트와 스킵 기능을 활용한 페이징 구현
리미트와 스킵 기능을 조합해 페이징 기능을 쉽게 구현해보세요. N개의 요소를 포함하는 목록이 있고 각 페이지에 M개의 요소를 표시하는 페이징 기능을 구현하려고 한다고 가정합니다. 다음과 같은 방법으로 구현할 수 있습니다.
public class PaginationDemo { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); for (int i = 1; i <= 10; i++) { list.add(i); } int pageSize = 3; int pageNum = 1; int start = (pageNum - 1) * pageSize; int end = pageNum * pageSize; List<Integer> result = list.stream().skip(start).limit(end - start).collect(Collectors.toList()); System.out.println(result); } }
위 코드에서는 먼저 10개의 요소가 포함된 목록을 만듭니다. 그런 다음 각 페이지에 표시되는 pageSize 수와 pageNum 수를 정의하고 start부터 건너뛰어야 하는 요소 수와 end-start를 필터링해야 하는 요소 수를 계산합니다. 마지막으로 제한 및 건너뛰기 기능을 사용하여 지정된 페이지 번호에 필요한 요소를 목록에서 필터링하고 수집 메서드를 통해 결과를 목록에 수집합니다.
위는 스트림의 요소를 쉽게 제한하고 건너뛰고 스트림 작업의 페이징 기능을 실현하는 데 도움이 되는 제한 및 건너뛰기 기능을 적용한 것입니다.
위 내용은 스트림 작업을 위해 Java에서 Stream의 제한 및 건너뛰기 기능을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사에서는 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 및 Gradle을 사용하여 접근 방식과 최적화 전략을 비교합니다.

이 기사에서는 Maven 및 Gradle과 같은 도구를 사용하여 적절한 버전 및 종속성 관리로 사용자 정의 Java 라이브러리 (JAR Files)를 작성하고 사용하는 것에 대해 설명합니다.

이 기사는 카페인 및 구아바 캐시를 사용하여 자바에서 다단계 캐싱을 구현하여 응용 프로그램 성능을 향상시키는 것에 대해 설명합니다. 구성 및 퇴거 정책 관리 Best Pra와 함께 설정, 통합 및 성능 이점을 다룹니다.

이 기사는 캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA를 사용하는 것에 대해 설명합니다. 잠재적 인 함정을 강조하면서 성능을 최적화하기위한 설정, 엔티티 매핑 및 모범 사례를 다룹니다. [159 문자]

Java의 클래스 로딩에는 부트 스트랩, 확장 및 응용 프로그램 클래스 로더가있는 계층 적 시스템을 사용하여 클래스로드, 링크 및 초기화 클래스가 포함됩니다. 학부모 위임 모델은 핵심 클래스가 먼저로드되어 사용자 정의 클래스 LOA에 영향을 미치도록합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
