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

자바 LinkedHashSet

자바 LinkedHashSet

이 자습서에서는 예제를 통해 Java LinkedHashSet 클래스와 해당 메서드에 대해 알아봅니다.

LinkedHashSet Java 컬렉션 프레임워크의 클래스는 해시 테이블과 연결 목록 데이터 구조의 기능을 모두 제공합니다.

Set 인터페이스를 구현합니다.

LinkedHashSet의 요소 HashSet과 유사한 해시 테이블에 저장됩니다.

그러나 연결된 해시 집합은 모든 요소에 대해 내부적으로 이중 연결 목록을 유지합니다. 연결 목록은 해시 테이블에 요소가 삽입되는 순서를 정의합니다.

<시간>

LinkedHashSet 만들기

연결된 해시 세트를 생성하려면 java.util.LinkedHashSet를 가져와야 합니다. 먼저 포장하십시오.

패키지를 가져온 후 Java에서 연결된 해시 집합을 만드는 방법은 다음과 같습니다.

// LinkedHashSet with 8 capacity and 0.75 load factor
LinkedHashSet<Integer> numbers = new LinkedHashSet<>(8, 0.75);

여기에서 numbers라는 연결된 해시 집합을 만들었습니다. .

new LinkedHashSet<>(8, 0.75) 부분을 주목하세요. . 여기서 첫 번째 매개변수는 용량입니다. 두 번째 매개변수는 loadFactor입니다. .

기본 용량 및 부하율

용량과 부하율을 정의하지 않고 연결된 해시 집합을 생성할 수 있습니다. 예를 들어,

// LinkedHashSet with default capacity and load factor
LinkedHashSet<Integer> numbers1 = new LinkedHashSet<>();

기본적으로

<시간>

다른 컬렉션에서 LinkedHashSet 만들기

다음은 다른 컬렉션의 모든 요소를 ​​포함하는 연결된 해시 집합을 만드는 방법입니다.

import java.util.LinkedHashSet;
import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        // Creating an arrayList of even numbers
        ArrayList<Integer> evenNumbers = new ArrayList<>();
        evenNumbers.add(2);
        evenNumbers.add(4);
        System.out.println("ArrayList: " + evenNumbers);

        // Creating a LinkedHashSet from an ArrayList
        LinkedHashSet<Integer> numbers = new LinkedHashSet<>(evenNumbers);
        System.out.println("LinkedHashSet: " + numbers);
    }
}

출력

ArrayList: [2, 4]
LinkedHashSet: [2, 4]
<시간>

LinkedHashSet 메소드

LinkedHashSet 클래스는 연결된 해시 집합에 대해 다양한 작업을 수행할 수 있는 메서드를 제공합니다.

<시간>

LinkedHashSet에 요소 삽입

예를 들어,

import java.util.LinkedHashSet;

class Main {
    public static void main(String[] args) {
        LinkedHashSet<Integer> evenNumber = new LinkedHashSet<>();

        // Using add() method
        evenNumber.add(2);
        evenNumber.add(4);
        evenNumber.add(6);
        System.out.println("LinkedHashSet: " + evenNumber);

        LinkedHashSet<Integer> numbers = new LinkedHashSet<>();
        
        // Using addAll() method
        numbers.addAll(evenNumber);
        numbers.add(5);
        System.out.println("New LinkedHashSet: " + numbers);
    }
}

출력

LinkedHashSet: [2, 4, 6]
New LinkedHashSet: [2, 4, 6, 5]
<시간>

LinkedHashSet 요소 액세스

연결된 해시 집합의 요소에 액세스하려면 iterator()을 사용할 수 있습니다. 방법. 이 방법을 사용하려면 java.util.Iterator를 가져와야 합니다. 패키지. 예를 들어,

import java.util.LinkedHashSet;
import java.util.Iterator;

class Main {
    public static void main(String[] args) {
        LinkedHashSet<Integer> numbers = new LinkedHashSet<>();
        numbers.add(2);
        numbers.add(5);
        numbers.add(6);
        System.out.println("LinkedHashSet: " + numbers);

        // Calling the iterator() method
        Iterator<Integer> iterate = numbers.iterator();

        System.out.print("LinkedHashSet using Iterator: ");

        // Accessing elements
        while(iterate.hasNext()) {
            System.out.print(iterate.next());
            System.out.print(", ");
        }
    }
}

출력

LinkedHashSet: [2, 5, 6]
LinkedHashSet using Iterator: 2, 5, 6,

참고 :

<시간>

HashSet에서 요소 제거

예를 들어,

import java.util.LinkedHashSet;

class Main {
    public static void main(String[] args) {
        LinkedHashSet<Integer> numbers = new LinkedHashSet<>();
        numbers.add(2);
        numbers.add(5);
        numbers.add(6);
        System.out.println("LinkedHashSet: " + numbers);

        // Using the remove() method
        boolean value1 = numbers.remove(5);
        System.out.println("Is 5 removed? " + value1);

        boolean value2 = numbers.removeAll(numbers);
        System.out.println("Are all elements removed? " + value2);
    }
}

출력

LinkedHashSet: [2, 5, 6]
Is 5 removed? true
Are all elements removed? true
<시간>

설정 작업

LinkedHashSet의 다양한 메소드 다양한 집합 작업을 수행하는 데 사용할 수도 있습니다.

<시간>

집합 조합

둘은 두 세트 간의 합집합을 수행합니다. addAll()를 사용할 수 있습니다. 방법. 예를 들어,

import java.util.LinkedHashSet;

class Main {
    public static void main(String[] args) {
        LinkedHashSet<Integer> evenNumbers = new LinkedHashSet<>();
        evenNumbers.add(2);
        evenNumbers.add(4);
        System.out.println("LinkedHashSet1: " + evenNumbers);

        LinkedHashSet<Integer> numbers = new LinkedHashSet<>();
        numbers.add(1);
        numbers.add(3);
        System.out.println("LinkedHashSet2: " + numbers);

        // Union of two set
        numbers.addAll(evenNumbers);
        System.out.println("Union is: " + numbers);
    }
}

출력

LinkedHashSet1: [2, 4]
LinkedHashSet2: [1, 3]
Union is: [1, 3, 2, 4]
<시간>

집합의 교차점

두 세트 사이의 교집합을 수행하려면 retainAll()를 사용할 수 있습니다. 방법. 예를 들어

import java.util.LinkedHashSet;

class Main {
    public static void main(String[] args) {
        LinkedHashSet<Integer> primeNumbers = new LinkedHashSet<>();
        primeNumbers.add(2);
        primeNumbers.add(3);
        System.out.println("LinkedHashSet1: " + primeNumbers);

        LinkedHashSet<Integer> evenNumbers = new LinkedHashSet<>();
        evenNumbers.add(2);
        evenNumbers.add(4);
        System.out.println("LinkedHashSet2: " + evenNumbers);

        // Intersection of two sets
        evenNumbers.retainAll(primeNumbers);
        System.out.println("Intersection is: " + evenNumbers);
    }
}

출력

LinkedHashSet1: [2, 3]
LinkedHashSet2: [2, 4]
Intersection is: [2]
<시간>

세트의 차이

두 세트의 차이를 계산하기 위해 removeAll()을 사용할 수 있습니다. 방법. 예를 들어,

import java.util.LinkedHashSet;

class Main {
    public static void main(String[] args) {
        LinkedHashSet<Integer> primeNumbers = new LinkedHashSet<>();
        primeNumbers.add(2);
        primeNumbers.add(3);
        primeNumbers.add(5);
        System.out.println("LinkedHashSet1: " + primeNumbers);

        LinkedHashSet<Integer> oddNumbers = new LinkedHashSet<>();
        oddNumbers.add(1);
        oddNumbers.add(3);
        oddNumbers.add(5);
        System.out.println("LinkedHashSet2: " + oddNumbers);

        // Difference between LinkedHashSet1 and LinkedHashSet2
        primeNumbers.removeAll(oddNumbers);
        System.out.println("Difference : " + primeNumbers);
    }
}

출력

LinkedHashSet1: [2, 3, 5]
LinkedHashSet2: [1, 3, 5]
Difference: [2]
<시간>

서브셋

집합이 다른 집합의 하위 집합인지 확인하려면 containsAll()을 사용할 수 있습니다. 방법. 예를 들어,

import java.util.LinkedHashSet;

class Main {
    public static void main(String[] args) {
        LinkedHashSet<Integer> numbers = new LinkedHashSet<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        System.out.println("LinkedHashSet1: " + numbers);

        LinkedHashSet<Integer> primeNumbers = new LinkedHashSet<>();
        primeNumbers.add(2);
        primeNumbers.add(3);
        System.out.println("LinkedHashSet2: " + primeNumbers);

        // Check if primeNumbers is a subset of numbers
        boolean result = numbers.containsAll(primeNumbers);
        System.out.println("Is LinkedHashSet2 is subset of LinkedHashSet1? " + result);
    }
}

출력

LinkedHashSet1: [1, 2, 3, 4]
LinkedHashSet2: [2, 3]
Is LinkedHashSet2 is a subset of LinkedHashSet1? true
<시간>

LinkedHashSet의 다른 메소드

메소드 설명
clone() LinkedHashSet 사본을 생성합니다.
contains() LinkedHashSet 검색 지정된 요소에 대해 부울 결과를 반환합니다.
isEmpty() LinkedHashSet인지 확인 비어 있습니다
size() LinkedHashSet의 크기를 반환합니다.
clear() LinkedHashSet에서 모든 요소를 ​​제거합니다.

LinkedHashSet에 대해 자세히 알아보려면 방법은 Java LinkedHashSet(공식 Java 설명서)를 참조하십시오.

<시간>

LinkedHashSet 대. 해시셋

LinkedHashSet 둘 다 및 HashSet Set 구현 상호 작용. 그러나 그들 사이에는 몇 가지 차이점이 있습니다.

<시간> <시간>

LinkedHashSet 대. 나무세트

LinkedHashSet의 주요 차이점은 다음과 같습니다. 및 TreeSet :


java

  1. 자바 연산자
  2. 자바 주석
  3. 자바 for-each 루프
  4. 자바 문자열
  5. 자바 인터페이스
  6. 자바 익명 클래스
  7. 자바 리소스 사용
  8. 자바 주석
  9. 자바 어설션
  10. 자바 벡터