자바 해시맵
자바 해시맵
이 장에서 배열이 항목을 정렬된 컬렉션으로 저장하고 인덱스 번호( 유형) ArrayList
로 액세스해야 한다는 것을 배웠습니다 . int
A HashMap
그러나 " 키 / 값 " 쌍으로 항목을 저장하고 다른 유형의 인덱스(예: a )로 액세스할 수 있습니다 String
.
한 객체는 다른 객체(값)에 대한 키(인덱스)로 사용됩니다. 다른 유형을 저장할 수 있습니다: String
키와 Integer
값, 또는 같은 유형: String
키와 String
값:
예시
키 와 값 을 저장할 CapitalCitiesHashMap
라는 객체를 만듭니다 .String
String
import java.util.HashMap; // import the HashMap class
HashMap<String, String> capitalCities = new HashMap<String, String>();
항목 추가
클래스 에는 HashMap
많은 유용한 메서드가 있습니다. 예를 들어 항목을 추가하려면 다음 put()
방법 을 사용하십시오.
예시
// Import the HashMap class
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// Create a HashMap object called capitalCities
HashMap<String, String> capitalCities = new HashMap<String, String>();
// Add keys and values (Country, City)
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");
System.out.println(capitalCities);
}
}
항목에 액세스
의 값에 액세스하려면 메서드를 HashMap
사용 get()
하고 해당 키를 참조하세요.
예시
capitalCities.get("England");
항목 제거
항목을 제거하려면 remove()
메소드를 사용하고 키를 참조하십시오.
예시
capitalCities.remove("England");
모든 항목을 제거하려면 다음 clear()
방법 을 사용하십시오.
예시
capitalCities.clear();
해시맵 크기
얼마나 많은 항목이 있는지 확인하려면 다음 size()
방법 을 사용하십시오.
예시
capitalCities.size();
HashMap을 통한 루프
HashMap
with for-each 루프 의 항목을 반복합니다.
참고:keySet()
키만 원하는 경우 메서드를 사용하고 값만 values()
원하는 경우 메서드를 사용합니다.
예시
// Print keys
for (String i : capitalCities.keySet()) {
System.out.println(i);
}
예시
// Print values
for (String i : capitalCities.values()) {
System.out.println(i);
}
예시
// Print keys and values
for (String i : capitalCities.keySet()) {
System.out.println("key: " + i + " value: " + capitalCities.get(i));
}
기타 유형
HashMap의 키와 값은 실제로 객체입니다. 위의 예에서는 "String" 유형의 개체를 사용했습니다. Java의 문자열은 객체(기본 유형이 아님)임을 기억하십시오. int와 같은 다른 유형을 사용하려면 동등한 래퍼 클래스 를 지정해야 합니다 Integer
. 다른 기본 유형의 경우 Boolean
부울의 경우, Character
char의 경우, Double
이중의 경우 등을 사용하십시오.
예시
키 와 값 을 저장할
peopleHashMap
이라는 객체를 만듭니다 .String
Integer
// Import the HashMap class
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// Create a HashMap object called people
HashMap<String, Integer> people = new HashMap<String, Integer>();
// Add keys and values (Name, Age)
people.put("John", 32);
people.put("Steve", 30);
people.put("Angie", 33);
for (String i : people.keySet()) {
System.out.println("key: " + i + " value: " + people.get(i));
}
}
}