>  기사  >  Java  >  자바 LinkedHashMap

자바 LinkedHashMap

WBOY
WBOY원래의
2024-08-30 15:47:58487검색

Java에서 LinkedHashMap은 Map 인터페이스의 연결 목록 구현입니다. 삽입되는 요소의 순서를 유지하는 추가 기능이 포함되어 있는 HashMap과 유사합니다. HashMap은 빠른 삽입, 삭제, 검색 기능을 제공하지만 요소 삽입 순서가 유지되지 않습니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

Java LinkedHashMap의 기능

이 외에도 LinkedHashMap에는 몇 가지 다른 기능도 포함되어 있습니다.

  • 독특한 요소들로만 구성되어 있습니다.
  • 단일 null 키와 여러 개의 null 값을 포함할 수 있습니다.
  • 게재 순서가 유지됩니다.
  • HashMap 클래스를 확장합니다.
  • 현재 값은 키를 기준으로 합니다.
  • 동기화되지 않았습니다.
  • 초기 기본 용량은 16입니다
  • 부하율은 0.75입니다.

구문:

LinkedHashMap<Integer, String> obj = new LinkedHashMap<Integer, String>();

여기서 obj는 생성된 LinkedHashMap의 객체입니다.

LinkedHashMap 객체가 생성되면 아래와 같이 지도에 요소를 추가하는 데 사용됩니다.

obj.put(11, "Victor");
obj.put(33, "Shyla");
obj.put(14, "Nancy");
obj.put(100, "Kuffi");
obj.put(23, "Princy");
obj.put(37, "Chamm");

건축자

아래는 LinkedHashMap의 생성자입니다:

1. LinkedHashMap(): 빈 LinkedHashMap 인스턴스는 삽입 기반 순서, 로드 계수 0.75 및 기본 초기 용량 16으로 생성됩니다.

2. LinkedHashMap(intinitialCapacity): 빈 LinkedHashMap 인스턴스는 삽입, 로드 계수 0.75 및 지정된 초기 용량을 기반으로 한 순서로 생성됩니다.

3. LinkedHashMap(intinitialCapacity, float loadFactor):빈 LinkedHashMap 인스턴스는 삽입, 지정된 로드 계수 및 초기 용량을 기반으로 한 순서로 생성됩니다.

4. LinkedHashMap(intitialCapacity, float loadFactor, boolean accessOrder): 빈 LinkedHashMap 인스턴스는 지정된 로드 인자, 액세스 순서 및 초기 용량을 사용하여 생성됩니다.

5. LinkedHashMap(Map m): LinkedHashMap 인스턴스는 삽입에 따른 순서와 언급된 맵에 따른 매핑으로 생성됩니다.

방법

LinkedHashMap에서 일반적으로 사용되는 메소드는 다음과 같습니다.

1. clear(): 지도의 모든 매핑이 제거됩니다.

2. boolean containKey(Object key): 맵에 언급된 값의 하나 이상의 키에 대한 매핑이 포함된 경우 true가 반환됩니다.

3. boolean containValue(Object key): 맵에 최소 하나의 키에 대한 매핑이 포함된 경우 true가 반환됩니다.

4. Object get(Object key): 언급된 키의 매핑 값이 반환됩니다.

5. isEmpty(): 키-값 쌍 매핑이 없으면 true가 반환됩니다.

6. size(): 맵에서 사용 가능한 키-값 쌍의 개수가 반환됩니다.

7. 객체 제거(객체 키): 언급된 키의 매핑 값이 제거됩니다.

8. boolean RemoveEldestEntry(Map.Entry eldest): 가장 오래된 항목을 제거할 수 있는 경우 true가 반환됩니다.

Java LinkedHashMap의 예

아래는 Java LinkedHashMap의 예입니다.

예시 #1

간단한 LinkedHashMap을 생성하는 Java 프로그램

코드:

import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
//class begins here
public class LinkedHashMapExample {
//main method
public static void main(String args[]) {
// create a LinkedHashMap
LinkedHashMap<Integer, String> obj = new LinkedHashMap<Integer, String>();
//Adding key-value pair 1
obj.put(11, "Anna");
//Adding key-value pair 2
obj.put(33, "Adam");
//Adding key-value pair 3
obj.put(14, "Iza");
//Adding key-value pair 4
obj.put(23, "Norah");
//Adding key-value pair 5
obj.put(100, "Denan");
// create an entry set
Set s = obj.entrySet();
// Display the elements
Iterator itr = s.iterator();
//iterate each element
while(itr.hasNext()) {
//create an object for map.entry
Map.Entry mp = (Map.Entry)itr.next();
//print each element
System.out.print("Key in the LinkedHashMap is : "+ mp.getKey() +
" and it's corresponding value is: "+mp.getValue()+" \n");
}
}
}

출력:

자바 LinkedHashMap

이 프로그램에서는 LinkedHashMap이 먼저 생성됩니다. 그런 다음 키-값 쌍을 사용하여 요소가 추가됩니다. 완료되면 항목 세트가 생성됩니다. 또한 LinkedHashMap의 모든 요소를 ​​인쇄하기 위해 반복자가 생성됩니다. 각 요소를 반복하면 샘플 출력과 같이 인쇄되어 표시됩니다.

예시 #2

맵에서 키-값 쌍을 제거하는 Java 프로그램

코드:

import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
//class begins here
public class LinkedHashMapExample {
//main method
public static void main(String args[]) {
// create a LinkedHashMap
LinkedHashMap<Integer, String> obj = new LinkedHashMap<Integer, String>();
//Adding key-value pair 1
obj.put(11, "Victor");
//Adding key-value pair 2
obj.put(33, "Shyla");
//Adding key-value pair 3
obj.put(14, "Nancy");
//Adding key-value pair 4
obj.put(100, "Kuffi");
//Adding key-value pair 5
obj.put(23, "Princy");
//Adding key-value pair 6
obj.put(37, "Chamm");
System.out.print("Before removal, LinkedHashMap is: "+obj+"\n");
//remove the elements with keys 100 and 37
obj.remove(100);
obj.remove(37);
System.out.print("After removal, LinkedHashMap is: "+obj);
}
}

출력:

자바 LinkedHashMap

이 프로그램에서도 LinkedHashMap이 먼저 생성됩니다. 그런 다음 키-값 쌍을 사용하여 요소가 추가됩니다. 완료되면 LinkedHashMap이 인쇄됩니다. 그런 다음, Remove() 메소드를 사용하여 두 개의 키-값 쌍이 맵에서 제거됩니다. 그 후 다시 한 번 샘플 출력과 같이 지도가 인쇄되어 표시됩니다.

예시 #3

액세스 순서에 따라 맵의 키-값 쌍을 인쇄하는 Java 프로그램

코드:

import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
//class begins here
public class LinkedHashMapExample {
//main method
public static void main(String args[]) {
// create a LinkedHashMap with third paramter set access order
LinkedHashMap<Integer, String> obj = new LinkedHashMap<Integer, String>(2, .75f, true);
//Adding key-value pair 1
obj.put(11, "Victor");
//Adding key-value pair 2
obj.put(33, "Shyla");
//Adding key-value pair 3
obj.put(14, "Nancy");
//Adding key-value pair 4
obj.put(100, "Kuffi");
//Adding key-value pair 5
obj.put(23, "Princy");
//Adding key-value pair 6
obj.put(37, "Chamm");
//Access the pair 33
obj.get(33);
//Access the pair 11
obj.get(11);
System.out.print("LinkedHashMap with access order is: "+obj);
}
}

출력:

자바 LinkedHashMap

여기서도 이 프로그램에서는 LinkedHashMap이 먼저 생성됩니다. 그런 다음 키-값 쌍을 사용하여 요소가 추가됩니다. 완료되면 키 33과 11이 있는 요소에 액세스됩니다. 그러면 샘플 출력에 표시된 대로 지도가 인쇄되어 표시됩니다. 접근되는 ​​요소는 맵의 끝 부분에 있음을 알 수 있습니다.

결론

이 기사에서는 구문, 생성자, 메서드, 예제 등 Java LinkedHashMap에 대한 거의 모든 세부 정보를 자세히 살펴봅니다. 또한 LinkedHashMap과 HashMap의 주요 차이점도 식별합니다.

위 내용은 자바 LinkedHashMap의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Java EnumMap다음 기사:Java EnumMap