Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java HashMap 클래스를 사용하는 방법

프로그래밍에서 데이터 유형은 특정 유형의 데이터를 분류하는 데 사용됩니다. 각 데이터 유형은 다른 방식으로 저장되며 값이 저장되는 데이터 유형에 따라 해당 값에 대해 수행할 수 있는 작업이 결정됩니다.

Java로 작업할 때 만날 수 있는 클래스 중 하나는 Java HashMap 클래스입니다. 이 클래스는 컬렉션 프레임워크의 일부이며 개발자가 Map 데이터 유형을 사용하여 데이터를 저장할 수 있도록 합니다.

이 튜토리얼에서는 Java HashMaps의 기본 사항, HashMap을 생성하는 방법, HashMap 클래스로 작업할 때 사용할 수 있는 주요 메서드에 대해 설명합니다. 이 기사에서는 HashMap 클래스를 더 자세히 설명할 수 있도록 전체 예제를 참조합니다.

자바 지도 및 HashMap

Java Map 인터페이스는 키/값 쌍에 Map 값을 저장하는 데 사용됩니다. 키는 특정 값과 연결된 고유한 값입니다. Java에서 맵은 중복 키를 포함할 수 없으며 각 키는 특정 값과 연관되어야 합니다.

Map에서 제공하는 키/값 구조를 사용하면 키를 기반으로 값에 액세스할 수 있습니다. 따라서 gbp 키가 있는 지도가 있는 경우 및 값 United Kingdom , gbp 키를 참조할 때 "영국" 값이 반환됩니다.

HashMap 클래스는 컬렉션 프레임워크의 일부이며 Map 인터페이스와 해시 테이블을 사용하여 데이터를 저장할 수 있습니다. 해시 테이블은 키/값 항목을 저장하는 데 사용되는 특수 컬렉션입니다.

HashMap을 생성하기 전에 먼저 HashMap 패키지를 가져와야 합니다. Java 프로그램에서 이를 수행하는 방법은 다음과 같습니다.

import java.util.hashmap;

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

이제 HashMap 패키지를 가져왔으므로 Java에서 HashMap 만들기를 시작할 수 있습니다.

해시맵 생성

Java에서 HashMap을 만들려면 다음 구문을 사용할 수 있습니다.

HashMap<KeyType, ValueType> map_name = new HashMap<KeyType, ValueType>(capacity, loadFactor);

이를 기본 구성 요소로 분해해 보겠습니다.

  • 해시맵 해시맵을 선언하고 있음을 코드에 알리는 데 사용됩니다.
  • <키 유형, 값 유형> 키와 값에 대한 데이터 유형을 각각 저장합니다.
  • map_name 선언한 해시맵의 이름입니다.
  • 새로운 HashMap 우리가 지정한 데이터 유형으로 HashMap을 초기화하도록 코드에 지시합니다.
  • 용량 얼마나 많은 항목을 저장할 수 있는지 코드에 알려줍니다. 기본적으로 16으로 설정되어 있습니다. (선택 사항)
  • loadFactor 해시 테이블이 특정 용량에 도달하면 원래 해시 테이블 크기의 두 배인 새 해시 테이블이 생성되어야 한다고 코드에 알려줍니다. 기본적으로 이것은 0.75(또는 75% 용량)로 설정됩니다. (선택 사항)

현지 환전 비즈니스를 위한 프로그램을 생성한다고 가정해 보겠습니다. 그들은 교환 서비스를 제공하는 국가 이름과 통화 코드를 저장하는 프로그램을 만들고 싶어합니다. 국가 이름과 통화 코드라는 두 가지 항목을 함께 저장하기 때문에 HashMap을 사용하여 이 데이터를 저장하는 것이 좋습니다.

이 목적을 위해 HashMap을 만드는 데 사용할 코드는 다음과 같습니다.

import java.util.HashMap;
HashMap<String, String> currencyCodes = new HashMap<String, String>();

이 예에서는 currencyCodes라는 HashMap을 선언했습니다. 두 개의 문자열 값을 저장합니다. 이제 HashMap이 있으므로 항목을 추가하고 내용을 조작할 수 있습니다.

항목 추가

HashMap 클래스는 데이터를 저장하고 조작하는 데 사용할 수 있는 광범위한 메서드를 제공합니다. put() 메서드는 키/값 구조를 사용하여 HashMap에 값을 추가하는 데 사용됩니다.

다시 환전소로 돌아가자. GBP 항목을 추가한다고 가정합니다. /United Kingdom 영국의 통화 가치를 저장할 프로그램에 입력합니다. GBP 키는 United Kingdom에 매핑됩니다. 이 예에서 값. 다음 코드를 사용하여 그렇게 할 수 있습니다.

import java.util.HashMap;

class CurrencyExchange {
	public static void main(String[] args) {
		HashMap<String, String> currencyCodes = new HashMap<String, String>();

		currencyCodes.put("GBP", "United Kingdom");
currencyCodes.put("USD", "United States");
		System.out.println(currencyCodes);
	}
}

코드에서 currencyCodes라는 해시 맵을 초기화합니다. , 그런 다음 put() 메서드를 사용하여 해시 맵에 항목을 추가합니다. 이 항목에는 GBP 키가 있습니다. 및 값 United Kingdom . 그런 다음 다음을 반환하는 HashMap의 값을 출력합니다.

{GBP=United Kingdom,USD=United States}

보시다시피 HashMap에는 GBP=United Kingdom 및 USD=United States의 두 가지 값이 포함됩니다.

항목에 액세스

HashMap의 항목에 액세스하려면 get() 메서드를 사용할 수 있습니다. get 메소드는 하나의 매개변수를 허용합니다. 검색하려는 값의 키 이름입니다.

GBP와 관련된 국가 이름을 검색한다고 가정합니다. 다음 코드를 사용하여 그렇게 할 수 있습니다.

…
		String gbp = currencyCodes.get("GBP");
		System.out.println(currencyCodes);
… 

코드 반환:영국.

Remove an Item

remove() 메서드는 HashMap에서 항목을 제거하는 데 사용됩니다. remove()는 하나의 매개변수를 받습니다:항목을 제거하려는 키의 이름.

GBP를 제거한다고 가정합니다. 우리의 HashMap에서. 다음 코드를 사용하여 그렇게 할 수 있습니다.

…
currencyCodes.remove("GBP");
System.out.println(currencyCodes);
…

코드를 실행할 때 GBP HashMap에서 제거되고 다음 응답이 반환됩니다. {USD=United States}

또한 clear() 메서드는 HashMap에서 모든 항목을 제거하는 데 사용됩니다. clear()는 매개변수를 허용하지 않습니다. 다음은 작동 중인 clear() 메서드의 예입니다.

…
currencyCodes.clear();
System.out.println(currencyCodes);
…

우리 코드는 빈 HashMap을 반환합니다. {} .

HashMap 요소 교체

replace() 메소드는 특정 키와 연관된 값을 새 값으로 대체하는 데 사용됩니다. replace()는 두 개의 매개변수를 받습니다. 바꾸려는 값의 키와 이전 값을 바꿀 새 값입니다.

예를 들어 United Kingdom 값을 바꾸려고 한다고 가정해 보겠습니다. United Kingdom 우리의 HashMap에서. 다음 코드를 사용하여 그렇게 할 수 있습니다.

…
		currencyCodes.replace("GBP", "Great Britain")
		System.out.print(currencyCodes);
…

코드를 실행할 때 GBP 키의 값은 (United Kingdom 이 경우)는 Great Britain으로 대체됩니다. 그리고 우리 프로그램은 다음을 반환합니다:

{GBP=영국,USD=미국}

HashMap을 통해 반복

또한 Java에서 HashMap을 통해 반복할 수 있습니다. HashMap은 HashMap을 반복하는 데 사용할 수 있는 세 가지 방법을 제공합니다.

  • keySet()은 HashMap의 키를 반복하는 데 사용됩니다.
  • values()는 HashMap의 값을 반복하는 데 사용됩니다.
  • entrySet()은 HashMap의 키와 값을 반복하는 데 사용됩니다.

HashMap을 통해 반복할 수 있는 가장 쉬운 방법은 for-each를 사용하는 것입니다. 고리. Java for-each 루프에 대해 자세히 알아보려면 여기에서 주제에 대한 자습서를 읽을 수 있습니다.

currencyCodes의 모든 값을 출력하고 싶다고 가정해 봅시다. "HashMap을 콘솔에 연결하여 HashMap에 저장되어 있는 그들이 제공하는 통화 목록을 통화 변환 비즈니스에 표시할 수 있습니다. 이를 위해 다음 코드를 사용할 수 있습니다.

import java.util.HashMap;

class CurrencyExchange {
	public static void main(String[] args) {
		HashMap<String, String> currencyCodes = new HashMap<String, String>();

		currencyCodes.put("GBP", "Great Britain");
		currencyCodes.put("USD", "United States");

		for(String value : currencyCodes.values()) {
			System.out.println(value);
		}
	}
}

코드를 실행하면 다음 응답이 반환됩니다.

United Kingdom

United States

우리 코드에서는 for-each를 사용합니다. currencyCodes.values() 목록의 모든 항목을 반복하는 루프 . 그런 다음 새 줄에 각 항목을 인쇄합니다.

모든 키를 반복하고 HashMap의 각 키 이름을 출력하려면 values()를 대체할 수 있습니다. keySet() 사용 위의 코드에서. 다음은 프로그램이 반환하는 내용입니다.

GBP

USD

결론

Java HashMap 클래스는 키/값 컬렉션 구조를 사용하여 데이터를 저장하는 데 사용됩니다. 이 구조는 서로 연관되어야 하는 두 값을 저장하려는 경우에 유용합니다.

이 튜토리얼에서는 HashMaps의 기본 사항을 다뤘습니다. 우리는 HashMap을 만드는 방법을 보여주고 일반적인 HashMap 메서드가 작동하는 몇 가지 예를 살펴보았습니다. 이제 전문가처럼 Java HashMaps를 사용하는 데 필요한 정보를 갖추었습니다!