산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java NavigableSet 인터페이스 완전 정복: 탐색, 정렬, 실전 예제

Java NavigableSet 인터페이스

이 튜토리얼에서는 예제를 통해 Java NavigableSet 인터페이스와 그 메서드들을 학습합니다.

Java Collections Framework의 NavigableSet 인터페이스는 집합 요소들 사이를 탐색하는 기능을 제공합니다.

NavigableSet은 SortedSet의 일종으로 간주됩니다.


NavigableSet을 구현하는 클래스

NavigableSet 인터페이스의 기능을 사용하려면 NavigableSet을 구현한 TreeSet 클래스를 사용해야 합니다.


NavigableSet 사용 방법

Java에서 NavigableSet을 사용하려면 java.util.NavigableSet 패키지를 임포트해야 합니다. 패키지 임포트 후 다음과 같이 탐색 가능한 집합을 생성할 수 있습니다.

// TreeSet 클래스에 의한 SortedSet 구현
NavigableSet<String> numbers = new TreeSet<>();

여기서 TreeSet 클래스의 numbers라는 이름의 탐색 가능 집합을 생성했습니다.


NavigableSet의 메서드

NavigableSet은 SortedSet의 일종으로 간주됩니다. 왜냐하면 NavigableSet이 SortedSet 인터페이스를 확장하기 때문입니다.

따라서 모든 SortedSet 메서드도 NavigableSet에서 사용할 수 있습니다. 이 메서드들의 작동 방식을 보려면 Java SortedSet을 참조하세요.

그러나 SortedSet의 일부 메서드(headSet(), tailSet(), subSet())는 NavigableSet에서 다르게 정의됩니다.

이 메서드들이 NavigableSet에서 어떻게 정의되는지 살펴보겠습니다.


headSet(element, booleanValue)

headSet() 메서드는 지정된 element(인수로 전달) 이전의 탐색 가능 집합의 모든 요소를 반환합니다.

booleanValue 매개변수는 선택 사항이며 기본값은 false입니다.

booleanValue로 true를 전달하면 지정된 요소를 포함한 그 이전의 모든 요소를 반환합니다.


tailSet(element, booleanValue)

tailSet() 메서드는 지정된 element(인수로 전달) 이후의 탐색 가능 집합의 모든 요소를 지정된 요소를 포함하여 반환합니다.

booleanValue 매개변수는 선택 사항이며 기본값은 true입니다.

booleanValue로 false를 전달하면 지정된 요소를 포함하지 않고 그 이후의 모든 요소를 반환합니다.


subSet(e1, bv1, e2, bv2)

subSet() 메서드는 e1과 e2 사이의 모든 요소를 e1을 포함하여 반환합니다.

bv1과 bv2는 선택적 매개변수입니다. bv1의 기본값은 true이고, bv2의 기본값은 false입니다.

bv1로 false를 전달하면 e1을 포함하지 않고 e1과 e2 사이의 모든 요소를 반환합니다.

bv2로 true를 전달하면 e1과 e2 사이의 모든 요소를 e1을 포함하여 반환합니다.


NavigableSet은 요소들을 탐색하는 데 사용할 수 있는 다양한 메서드를 제공합니다.

NavigableSet에 대해 더 자세히 알아보려면 공식 Java 문서인 Java NavigableSet을 참조하세요.


TreeSet 클래스에서의 NavigableSet 구현

import java.util.NavigableSet;
import java.util.TreeSet;

class Main {
    public static void main(String[] args) {
        // TreeSet을 사용한 NavigableSet 생성
        NavigableSet<Integer> numbers = new TreeSet<>();
        
        // 집합에 요소 삽입
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("NavigableSet: " + numbers);
        
        // 첫 번째 요소 접근
        int firstElement = numbers.first();
        System.out.println("First Number: " + firstElement);
        
        // 마지막 요소 접근
        int lastElement = numbers.last();
        System.out.println("Last Element: " + lastElement);
        
        // 첫 번째 요소 제거
        int number1 = numbers.pollFirst();
        System.out.println("Removed First Element: " + number1);
        
        // 마지막 요소 제거
        int number2 = numbers.pollLast();
        System.out.println("Removed Last Element: " + number2);
    }
}

실행 결과

NavigableSet: [1, 2, 3]
First Element: 1
Last Element: 3
Removed First Element: 1
Removed Last Element: 3

TreeSet에 대해 더 자세히 알아보려면 Java TreeSet을 참조하세요.


이제 NavigableSet 인터페이스에 대해 알게 되었으니, TreeSet 클래스를 사용한 구현에 대해 학습해 보겠습니다.

java

  1. C# 인터페이스 마스터하기: 정의, 구현, 실전 활용 사례
  2. Java 연산자 마스터하기: 종류, 문법, 실전 예제
  3. Java 주석: 종류, 사용법, 모범 사례
  4. Java 인터페이스 마스터: 개념, 구현, 모범 사례
  5. Java Try-with-Resources 마스터: 자동 리소스 관리 완전 해설
  6. Java 애너테이션 완전 해설: 종류, 배치 위치, 실전 예제
  7. Java 람다 표현식 마스터하기: 기초부터 Stream API까지
  8. Java 인터페이스 vs 추상 클래스: 올바른 추상화 선택 가이드
  9. 자바 인터페이스 이해하기: 정의, 용도, 모범 사례
  10. Java 9 프라이빗 인터페이스 메서드: 캡슐화 및 코드 재사용 강화