해시맵 Java

⚡ 스마트 요약

해시맵 Java 데이터를 고유한 키-값 쌍으로 저장하며, 키를 사용하여 빠르게 검색할 수 있습니다. 기본 데이터 유형이 아닌 객체 참조를 저장하므로 래퍼 클래스가 사용되며, put, get, remove, containsKey와 같은 메서드를 제공합니다.

  • 🗝️ HashMap 정의: 키를 사용하여 값을 빠르게 검색할 수 있도록 고유 키를 값에 매핑하여 저장합니다.
  • 📦 객체 참조: 객체만 저장하므로 기본형 대신 Integer와 같은 래퍼 클래스를 사용하세요.
  • 🔧 핵심 방법론: put() 함수는 키와 값을 쌍으로 저장하고, get() 함수는 값을 가져오며, remove() 함수는 키를 사용하여 값을 삭제합니다.
  • 🔍 조회: containsKey(), keySet(), values(), 및 isEmpty() 메서드는 맵의 내용을 검사합니다.
  • 🧪 예 : 샘플 프로그램은 지도를 만들고, 출력하고, 키를 사용하여 항목을 삭제합니다.

해시맵 Java

해시맵이란 무엇인가요? Java?

HashMap은 기본적으로 다음을 지정합니다. 고유 키 해당하는 특정 시점에서 검색할 수 있습니다.

해시맵 Java

특징 Java 해시 맵

가) 를 형성하여 지도에 저장할 수 있습니다. 핵심 가치 쌍. 키를 올바른 메소드에 전달하면 값을 검색할 수 있습니다.

b) 만약 요소 없음 지도에 존재하면 'NoSuchElementException'.

c) HashMap 상점만 해당 개체 참조. 그렇기 때문에 사용이 불가능합니다. 기본 데이터 유형 double 또는 int와 같은 래퍼 클래스를 사용합니다(Integer 또는 Double) 대신.

특징 Java 해시 맵

HashMap 사용 Java 프로그램 :

해시 맵을 선언하는 두 가지 방법은 다음과 같습니다.

HashMap<String, Object> map = new HashMap<String, Object>();
HashMap x  = new HashMap();

중요한 해시맵 방법

  • get(객체 키) – 이 명령은 지정된 키와 연관된 값을 반환합니다. Java 해시맵.
  • put(객체 KEY, 문자열 VALUE) – 이 메소드는 지정된 값을 저장하고 이를 이 맵의 지정된 키와 연관시킵니다.

Java 해시맵 예

다음은 Java 해시 맵의 샘플 구현입니다.

import java.util.HashMap;
import java.util.Map;
public class Sample_TestMaps{
  public static void main(String[] args){
    Map<String, String> objMap = new HashMap<String, String>();
    objMap.put("Name", "Suzuki");
    objMap.put("Power", "220");
    objMap.put("Type", "2-wheeler");
    objMap.put("Price", "85000");
    System.out.println("Elements of the Map:");
    System.out.println(objMap);
  }
}

출력:

Elements of the Map:
{Type=2-wheeler, Price=85000, Power=220, Name=Suzuki}

예: 키를 기준으로 HashMap에서 값 제거

import java.util.*;
public class HashMapExample {
   public static void main(String args[]) {
   // create and populate hash map
   HashMap<Integer, String> map = new HashMap<Integer, String>();
   map.put(1,"Java");
   map.put(2, "Python");
   map.put(3, "PHP");
   map.put(4, "SQL");
   map.put(5, "C++");
   System.out.println("Tutorial in Guru99: "+ map);
   // Remove value of key 5
   map.remove(5);
   System.out.println("Tutorial in Guru99 After Remove: "+ map);
   }
}

출력:

Tutorial in Guru99: {1=Java, 2=Python, 3=PHP, 4=SQL, 5=C++}
Tutorial in Guru99 After Remove: {1=Java, 2=Python, 3=PHP, 4=SQL}

더 잘 알기 위해 해시 맵 자체에 몇 가지 쿼리를 요청해 보겠습니다.

Q: 그러면 Mr.Hash Map, 특정 키가 귀하에게 할당되었는지 어떻게 알 수 있나요?

A: 좋아요. ContainsKey(Object KEY) 메서드를 사용할 수 있습니다. 주어진 키에 대한 값이 있으면 부울 값을 반환합니다.

Q: 지도에 있는 사용 가능한 키를 모두 찾으려면 어떻게 해야 합니까?

A: 다음과 같은 메서드가 있습니다. 키셋()는 지도의 모든 키를 반환합니다. 위의 예에서 다음과 같이 한 줄을 작성하면 –
System.out.println(objMap.keySet());

그것은 반환할 것이다 출력 같이-
[이름, 종류, 전력, 가격]

마찬가지로 모든 값만 필요한 경우 다음과 같은 방법이 있습니다. ().
System.out.println(objMap.values());

그것은 반환할 것이다 출력 같이-
[스즈키, 이륜차, 2, 220]

Q: 지도에서 특정 키만 제거해야 한다고 가정해 보겠습니다. 지도 전체를 삭제해야 합니까?

A: 안돼 친구!! 나에게는 다음과 같은 방법이 있다. 제거(객체 KEY) 특정 키-값 쌍만 제거합니다.

Q: 실제로 일부 키-값 쌍이 포함되어 있는지 어떻게 확인할 수 있나요?

A: 비어있는지 확인해 보세요!! 즉, 사용 비었다() 나에 대한 방법..

자주 묻는 질문

HashMap은 비동기식이며 하나의 null 키와 여러 개의 null 값을 허용하므로 단일 스레드 환경에서 더 빠릅니다. HashTable은 동기화 방식이며 null 키 또는 값을 허용하지 않으므로 스레드 안전성이 보장되지만 속도는 더 느립니다.

네. HashMap은 정확히 하나의 null 키와 여러 개의 null 값을 허용합니다. 두 번째 null 키를 추가하려고 하면 기존 null 키에 연결된 값이 덮어쓰여집니다.

아니요. HashMap은 키의 순서를 보장하지 않습니다. 삽입 순서가 필요하다면 LinkedHashMap을 사용하고, 키 정렬이 필요하다면 TreeMap을 사용하세요.

AI는 조회, 순서, 동시성 요구 사항과 같은 접근 패턴을 분석한 후 HashMap, TreeMap, LinkedHashMap 또는 ConcurrentHashMap을 추천할 수 있습니다.ping 개발자는 자신의 사용 사례에 가장 효율적인 컬렉션을 선택합니다.

예. AI 기반 분석은 동기화 없이 여러 스레드에서 액세스하는 공유 HashMap을 식별하고 경쟁 조건 및 데이터 손상을 방지하기 위해 ConcurrentHashMap 또는 외부 잠금을 권장할 수 있습니다.

이 게시물을 요약하면 다음과 같습니다.