>  기사  >  Java  >  자바의 해시맵

자바의 해시맵

王林
王林원래의
2024-08-30 15:34:13314검색

Java에서는 배열을 사용하여 데이터를 저장할 수 있지만 키와 값 방식으로 데이터를 저장하거나 검색해야 하는 경우에는 항상 HashMap을 사용해야 합니다. Hashmap은 Map이라는 인터페이스의 계층 구조에 속하는 Java의 컬렉션입니다. 이 기사에서는 Java 프로그래밍 관점에서 Hashmap을 논의합니다.

구문:

광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사

코드에서 HashMap을 사용하려면 import(java.util.HashMap 패키지 가져오기) 또는 상위 클래스를 가져와야 합니다.

import java.util.HashMap;
import java.util.Map;
HashMap<datatypeOfkey, dataytpeOfValue> <name_of_hashMap> =new HashMap<datatypeOfkey, dataytpeOfValue> ();

datatypeOfkey 및 dataytpeOfValue는 정수 또는 문자열일 수 있습니다.

예:

Map<String, String> newHashMap = new HashMap<>();

HashMap은 Java에서 어떻게 작동하나요?

해시맵은 해싱 기술을 사용하여 요소를 저장하고 검색합니다. 저장을 위해 버킷이라는 연결 목록을 사용합니다. 삽입 및 검색 작업을 위해 키에 대해 equals() 및 hashCode()라는 두 가지 메서드를 사용합니다. 삽입하는 동안 hashCode는 저장할 버킷을 결정합니다. 그런 다음 hashCode는 동일한 hashCode를 가진 키가 이미 있는지 확인합니다. 그렇다면 값이 새 값으로 대체됩니다. 그렇지 않은 경우 값이 저장될 새 맵이 생성됩니다. 데이터를 검색하는 동안 hashCode는 검색할 버킷을 결정합니다. 그런 다음 hashCode() 및 equals()가 값을 가져와서 반환합니다. 값이 없으면 null을 반환합니다.

Java의 HashMap 생성자

아래와 같이 4개의 생성자가 있습니다.

  1. HashMap(): 로드 팩터가 0.75이고 용량이 16인 기본 맵입니다.
  2. HashMap(int ): 인수에 정의된 용량으로 HashMap을 생성합니다. 여기서는 부하율이 기본값입니다.
  3. HashMap(int , float ): 인수에 정의된 용량 및 부하 계수를 사용하여 HashMap을 생성합니다.
  4. HashMap(Map m): 인수 맵에 정의된 대로 HashMap을 생성합니다.

Java의 HashMap 상위 13개 메소드

여기에서 논의된 아래 방법은 모두 Java 버전에 관계없이 사용할 수 있습니다.

  1. 공개 값 get(객체 키): 해당 키의 값을 가져오는 데 사용됩니다.
  2. 공개값 put(K key, V value): 해당 키에 대한 인수에 언급된 값을 삽입합니다.
  3. public boolean containKey(Object key): 키 존재 여부를 결정하며 반환 유형은 Boolean입니다.
  4. public boolean containValue(Object value): 값의 존재 여부를 결정하며, 반환 유형은 Boolean이라는 점에 유의하세요.
  5. 공개 V 제거(개체 키): 코드에 지정된 대로 특정 키와 해당 값 형식 HashMap을 지웁니다.
  6. public voidclear(): 언급된 대로 HashMap에서 모든 키와 값을 지웁니다.
  7. public boolean isEmpty(): HashMap이 비어 있는지 확인합니다.
  8. 객체 clone(): HashMap의 매핑은 이 메소드에 의해 반환되어 다른 HashMap에 대한 복제 목적으로 사용됩니다.
  9. public int size(): HashMap에 존재하는 키-값 쌍의 크기, 평균, 개수를 반환합니다.
  10. 공개 집합> EntrySet(): HashMap의 매핑 집합이 이 메서드에 의해 반환됩니다.
  11. 공개 세트 keySet(): HashMap에 설정된 키를 이 메서드로 반환합니다.
  12. public void putAll(Map ): 전체 지도 콘텐츠를 다른 콘텐츠에 복사합니다.
  13. 컬렉션 값(): HashMap의 모든 값 컬렉션을 가져올 수 있습니다.

Java의 HashMap 예

HashMap은 키와 값 쌍을 저장하는 데 사용되는 맵 기반 컬렉션 클래스입니다. 몇 가지 예를 살펴보겠습니다.

예시 #1

여기서 HashMap의 몇 가지 코드 예제를 논의하겠습니다. 코드를 직접 작성하여 연습하고 Java 컴파일러에서 실행하여 출력을 확인해야 합니다. 확인을 위해 출력을 주어진 출력과 일치시킬 수 있습니다. HashMap 생성 및 데이터 삽입

코드:

import java.util.HashMap;
import java.util.Map;
public class CreateHashMapExample {
public static void main(String[] args) {
// Creating a HashMap
Map<String, String> newHashMap = new HashMap<>();
// Addition of key and value
newHashMap.put("Key1", "Java");
newHashMap.put("Key2", "C++");
newHashMap.put("Key3", "Python");
// Addition of new key and value
newHashMap.putIfAbsent("Key4", "Ruby");
System.out.println(newHashMap);
}
}

출력:

자바의 해시맵

예시 #2

문자열을 키로, 정수를 값으로 사용하는 또 다른 예를 들어보겠습니다. 여기서는 키와 해당 값을 인치 단위로 값으로 측정합니다.

코드:

import java.util.HashMap;
public class CreateHashMapExample2 {
public static void main(String[] args) {
// Create a HashMap object called measurement
HashMap<String, Integer> ms = new HashMap<String, Integer>();
// Add keys and values (Name and phone number of the person)
ms.put("S", 35);
ms.put("M", 38);
ms.put("L", 40);
ms.put("XL", 42);
for (String key : ms.keySet()) {
System.out.println("measurement of " + key + " in inch is: " + ms.get(key));
}
}
}

출력:

자바의 해시맵

Example #3

Here we will do multiple things. We will first create a Hashmap; we will then get its values one by one. After that, we will copy all data of the HashMap to a brand new HashMap. After that, we will remove one item and gets their sizes. If the size is lower by one, the decrease of size by removal is confirmed.

Code:

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
public class HashMapInJava {
public static void main(String[] args) {
Map<String, String> newHashMap = new HashMap<>();
// Addition of key and value
newHashMap.put("Key1", "Lenovo");
newHashMap.put("Key2", "Motorola");
newHashMap.put("Key3", "Nokia");
newHashMap.put("Key4", null);
newHashMap.put(null, "Sony");
System.out.println("Original map contains:" + newHashMap);
//getting size of Hashmap
System.out.println("Size of original Map is:" + newHashMap.size());
//copy contains of one Hashmap to another
Map copyHashMap = new HashMap<>();
copyHashMap.putAll(newHashMap);
System.out.println("copyHashMap mappings= " + copyHashMap);
//Removal of null key
String nullKeyValue = copyHashMap.remove(null);
System.out.println("copyHashMap null key value = " + nullKeyValue);
System.out.println("copyHashMap after removing null key = " + copyHashMap);
System.out.println("Size of copyHashMap is:" + copyHashMap.size());
}
}

Output:

자바의 해시맵

Did you notice one thing in the output of HashMap in all of our examples while we print the key and values? The print is not in sorted order. Hashmap is not like an array, so scan and print need to be sorted; it can pick random based on its hash value.

Conclusion

You should use HashMap when your code or use case requires the handling of data in key-value pairs. In this article, we have learned about hashmaps in Java with code examples. First, however, you should practice writing codes on your own to master this topic.

Recommended Article

This is a guide to the HashMap in Java. Here we discuss Introduction to HashMap in Java and its Methods along with Code implementation and Output. You can also go through our suggested articles to learn more –

  1. HTML Frames
  2. HTML Attributes
  3. What is JVM?
  4. Java ClassNotFoundException

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

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