java
이 자습서에서는 예제를 통해 Java LinkedHashMap 클래스와 해당 작업에 대해 알아봅니다.
LinkedHashMap Java 컬렉션 프레임워크의 클래스는 Map 인터페이스의 해시 테이블 및 연결 목록 구현을 제공합니다.
LinkedHashMap 인터페이스는 HashMap 클래스를 확장하여 해당 항목을 해시 테이블에 저장합니다. 내부적으로 모든 항목 간에 이중 연결 목록을 유지하여 항목을 정렬합니다.

연결된 해시맵을 생성하려면 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로 전달됩니다. , 연결된 해시맵의 항목은 가장 최근에 액세스한 항목에서 가장 최근에 액세스한 항목 순으로 정렬됩니다.
다음은 다른 지도의 모든 요소를 포함하는 연결된 해시맵을 만드는 방법입니다.
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 클래스는 지도에서 다양한 작업을 수행할 수 있는 메서드를 제공합니다.
put() - 맵에 지정된 키/값 매핑을 삽입합니다.putAll() - 지정된 지도의 모든 항목을 이 지도에 삽입합니다.putIfAbsent() - 지정된 키가 맵에 없으면 지정된 키/값 매핑을 맵에 삽입합니다.예를 들어,
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}
<시간> 1. entrySet(), keySet() 및 values() 사용
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() 사용
get() - 지정된 키와 관련된 값을 반환합니다. 키를 찾을 수 없으면 null을 반환합니다. .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
<시간> remove(key) - 지정된 key와 관련된 항목을 반환하고 제거합니다. 지도에서remove(key, value) - 지정된 key인 경우에만 지도에서 항목을 제거합니다. 지정된 값으로 매핑됨 부울 값 반환예를 들어,
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}
<시간> | 메소드 | 설명 |
|---|---|
clear() | 지도에서 모든 항목을 제거합니다. |
containsKey() | 지도에 지정된 키가 포함되어 있는지 확인하고 부울 값을 반환합니다. |
containsValue() | 지도에 지정된 값이 포함되어 있는지 확인하고 부울 값을 반환합니다. |
size() | 지도의 크기를 반환 |
isEmpty() | 지도가 비어 있는지 확인하고 부울 값을 반환합니다. |
LinkedHashMap 및 HashMap Map 구현 상호 작용. 그러나 그들 사이에는 몇 가지 차이점이 있습니다.
LinkedHashMap 내부적으로 이중 연결 목록을 유지 관리합니다. 이 때문에 요소의 삽입 순서를 유지합니다.LinkedHashMap 클래스에 HashMap보다 더 많은 저장 공간이 필요합니다. . LinkedHashMap 때문입니다. 내부적으로 연결 목록을 유지합니다.LinkedHashMap의 성능 HashMap보다 느림 .java
자바 ArrayDeque 이 자습서에서는 예제를 통해 ArrayDeque 클래스와 해당 메서드에 대해 알아봅니다. 또한 배열 deque를 사용하여 스택을 구현하는 방법을 배웁니다. 자바에서는 ArrayDeque를 사용할 수 있습니다. 배열을 사용하여 queue 및 deque 데이터 구조를 구현하는 클래스입니다. ArrayDeque에 의해 구현된 인터페이스 ArrayDeque 클래스는 다음 두 인터페이스를 구현합니다. 자바 대기열 인터페이스 자바 데크 인터페이스 ArrayDeque 생성 배열 데크를 생성하려면 jav
자바 LinkedHashMap 이 자습서에서는 예제를 통해 Java LinkedHashMap 클래스와 해당 작업에 대해 알아봅니다. LinkedHashMap Java 컬렉션 프레임워크의 클래스는 Map 인터페이스의 해시 테이블 및 연결 목록 구현을 제공합니다. LinkedHashMap 인터페이스는 HashMap 클래스를 확장하여 해당 항목을 해시 테이블에 저장합니다. 내부적으로 모든 항목 간에 이중 연결 목록을 유지하여 항목을 정렬합니다. LinkedHashMap 만들기 연결된 해시맵을 생성하려면 java.util.Li