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

자바 LinkedHashMap

자바 LinkedHashMap

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

LinkedHashMap Java 컬렉션 프레임워크의 클래스는 Map 인터페이스의 해시 테이블 및 연결 목록 구현을 제공합니다.

LinkedHashMap 인터페이스는 HashMap 클래스를 확장하여 해당 항목을 해시 테이블에 저장합니다. 내부적으로 모든 항목 간에 이중 연결 목록을 유지하여 항목을 정렬합니다.

<시간>

LinkedHashMap 만들기

연결된 해시맵을 생성하려면 java.util.LinkedHashMap을 가져와야 합니다. 먼저 패키지. 패키지를 가져온 후 Java에서 연결된 해시맵을 만드는 방법은 다음과 같습니다.

// LinkedHashMap with initial capacity 8 and load factor 0.6
LinkedHashMap<Key, Value> numbers = new LinkedHashMap<>(8, 0.6f);

위의 코드에서 numbers라는 링크된 해시맵을 만들었습니다. .

여기,

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

기본 용량 및 부하율

용량과 부하율을 정의하지 않고 연결된 해시맵을 생성하는 것이 가능합니다. 예를 들어,

//LinkedHashMap with default capacity and load factor
LinkedHashMap<Key, Value> numbers1 = new LinkedHashMap<>();

기본적으로

참고 :LinkedHashMap 클래스를 사용하면 항목의 순서를 정의할 수도 있습니다. 예를 들어

// LinkedHashMap with specified order
LinkedHashMap<Key, Value> numbers2 = new LinkedHashMap<>(capacity, loadFactor, accessOrder);

여기, accessOrder 부울 값입니다. 기본값은 false입니다. . 이 경우 연결된 해시맵의 항목은 삽입 순서를 기준으로 정렬됩니다.

그러나 true인 경우 accessOrder로 전달됩니다. , 연결된 해시맵의 항목은 가장 최근에 액세스한 항목에서 가장 최근에 액세스한 항목 순으로 정렬됩니다.

<시간>

다른 지도에서 LinkedHashMap 만들기

다음은 다른 지도의 모든 요소를 ​​포함하는 연결된 해시맵을 만드는 방법입니다.

import java.util.LinkedHashMap;

class Main {
    public static void main(String[] args) {
        // Creating a LinkedHashMap of even numbers
        LinkedHashMap<String, Integer> evenNumbers = new LinkedHashMap<>();
        evenNumbers.put("Two", 2);
        evenNumbers.put("Four", 4);
        System.out.println("LinkedHashMap1: " + evenNumbers);

        // Creating a LinkedHashMap from other LinkedHashMap
        LinkedHashMap<String, Integer> numbers = new LinkedHashMap<>(evenNumbers);
        numbers.put("Three", 3);
        System.out.println("LinkedHashMap2: " + numbers);
    }
}

출력

LinkedHashMap1: {Two=2, Four=4}
LinkedHashMap2: {Two=2, Four=4, Three=3}
<시간>

LinkedHashMap의 메소드

LinkedHashMap 클래스는 지도에서 다양한 작업을 수행할 수 있는 메서드를 제공합니다.

<시간>

LinkedHashMap에 요소 삽입

예를 들어,


import java.util.LinkedHashMap;

class Main {
    public static void main(String[] args) {
        // Creating LinkedHashMap of even numbers
        LinkedHashMap<String, Integer> evenNumbers = new LinkedHashMap<>();

        // Using put()
        evenNumbers.put("Two", 2);
        evenNumbers.put("Four", 4);
        System.out.println("Original LinkedHashMap: " + evenNumbers);

        // Using putIfAbsent()
        evenNumbers.putIfAbsent("Six", 6);
        System.out.println("Updated LinkedHashMap(): " + evenNumbers);

        //Creating LinkedHashMap of numbers
        LinkedHashMap<String, Integer> numbers = new LinkedHashMap<>();
        numbers.put("One", 1);

        // Using putAll()
        numbers.putAll(evenNumbers);
        System.out.println("New LinkedHashMap: " + numbers);
    }
}

출력

Original LinkedHashMap: {Two=2, Four=4}
Updated LinkedHashMap: {Two=2, Four=4, Six=6}
New LinkedHashMap: {One=1, Two=2, Four=4, Six=6}
<시간>

LinkedHashMap 요소 액세스

1. entrySet(), keySet() 및 values() 사용

예를 들어,

import java.util.LinkedHashMap;

class Main {
    public static void main(String[] args) {
        LinkedHashMap<String, Integer> numbers = new LinkedHashMap<>();

        numbers.put("One", 1);
        numbers.put("Two", 2);
        numbers.put("Three", 3);
        System.out.println("LinkedHashMap: " + numbers);

        // Using entrySet()
        System.out.println("Key/Value mappings: " + numbers.entrySet());

        // Using keySet()
        System.out.println("Keys: " + numbers.keySet());

        // Using values()
        System.out.println("Values: " + numbers.values());
    }
}

출력

LinkedHashMap: {One=1, Two=2, Three=3}
Key/Value mappings: [One=1, Two=2, Three=3]
Keys: [One, Two, Three]
Values: [1, 2, 3]

2. get() 및 getOrDefault() 사용

예를 들어,

import java.util.LinkedHashMap;

class Main {
    public static void main(String[] args) {

        LinkedHashMap<String, Integer> numbers = new LinkedHashMap<>();
        numbers.put("One", 1);
        numbers.put("Two", 2);
        numbers.put("Three", 3);
        System.out.println("LinkedHashMap: " + numbers);

        // Using get()
        int value1 = numbers.get("Three");
        System.out.println("Returned Number: " + value1);

        // Using getOrDefault()
        int value2 = numbers.getOrDefault("Five", 5);
        System.out.println("Returned Number: " + value2);
    }
}

출력

LinkedHashMap: {One=1, Two=2, Three=3}
Returned Number: 3
Returned Number: 5
<시간>

제거된 LinkedHashMap 요소

예를 들어,

import java.util.LinkedHashMap;

class Main {
    public static void main(String[] args) {

        LinkedHashMap<String, Integer> numbers = new LinkedHashMap<>();
        numbers.put("One", 1);
        numbers.put("Two", 2);
        numbers.put("Three", 3);
        System.out.println("LinkedHashMap: " + numbers);

        // remove method with single parameter
        int value = numbers.remove("Two");
        System.out.println("Removed value: " + value);

        // remove method with two parameters
        boolean result = numbers.remove("Three", 3);
        System.out.println("Is the entry Three removed? " + result);

        System.out.println("Updated LinkedHashMap: " + numbers);
    }
}

출력

LinkedHashMap: {One=1, Two=2, Three=3}
Removed value: 2
Is the entry {Three=3} removed? True
Updated LinkedHashMap: {One=1}
<시간>

LinkedHashMap의 다른 메소드

메소드 설명
clear() 지도에서 모든 항목을 제거합니다.
containsKey() 지도에 지정된 키가 포함되어 있는지 확인하고 부울 값을 반환합니다.
containsValue() 지도에 지정된 값이 포함되어 있는지 확인하고 부울 값을 반환합니다.
size() 지도의 크기를 반환
isEmpty() 지도가 비어 있는지 확인하고 부울 값을 반환합니다.
<시간>

LinkedHashMap 대. 해시맵

LinkedHashMapHashMap Map 구현 상호 작용. 그러나 그들 사이에는 몇 가지 차이점이 있습니다.


java

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