Java의 연관 배열
- Java에서 연관 배열 사용
- Java의 연관 배열 개요
- Java에서 연관 배열 구현
- Java에서 연관 배열 생성
- Java에서 연관 배열에 요소 추가
- Java에서 연관 배열의 요소 순회
-
Java 8에서
forEach()
메서드를 사용하여 연관 배열의 요소 탐색
연관 배열은 key
및 value
쌍으로 요소 집합을 저장하는 배열 유형입니다. 키가 고유하고 하나의 값과 연결된 키와 값의 모음입니다.
연관 배열에서 요소에 액세스해야 하는 경우 배열의 이름을 호출하고 누가 액세스하려는 값
키를 전달해야 합니다.
Java에서 연관 배열 사용
예를 들어, 우리는 롤 번호와 학생의 점수를 저장하는 마크라는 배열이 있습니다.
따라서 특정 학생의 표시에 액세스해야 하는 경우 이 표시를 105
라고 부를 수 있습니다. 여기서 표시는 배열의 이름이고 105
는 학생의 롤 번호이지 인덱스 번호가 아닙니다. Java 언어를 사용하는 경우 배열에서는 불가능합니다.
따라서 연관 배열은 Java를 지원하지 않지만 HashMap
을 사용하여 쉽게 얻을 수 있습니다. Java는 연관 배열을 지원하지 않지만 Map을 사용하여 구현할 수 있습니다.
Java의 연관 배열 개요
HashMap<String, String> hashmap = new HashMap<>();
// method to add the key,value pair in hashmap
hashmap.put("Key1", "Value1");
hashmap.put("Key2", "Value2");
hashmap.put("Key3", "Value3");
// and many more...
// get the value 1 and 2
System.out.println(hashmap.get("Key1"));
System.out.println(hashmap.get("Key2"));
// and many more...
Java에서 연관 배열 구현
Java에서 연관 배열을 구현하기 위해 Map 인터페이스의 구현 클래스인 HashMap
을 사용했습니다. 단계별로 이해합시다.
먼저 HashMap
을 가져오고 초기화합니다. 즉, 다음 명령문을 사용하여 HashMap 인스턴스를 생성합니다.
import java.util.HashMap;
HashMap<String, String> hashmap = new HashMap<>();
그런 다음 put()
메서드를 사용하여 HashMap
에 키 값을 추가합니다.
hashmap.put("Key1", "Value1");
중복 키를 제거하기 위해 entrySet()
메소드를 사용하여 HashMap
을 Set으로 변환하십시오.
Set<Map.Entry<String, String> > set = map.entrySet();
Set을 원하는 배열인 ArrayList
로 변환합니다.
List<Map.Entry<String, String>> list = new ArrayList<>(set);
Java에서 연관 배열 생성
이 예제에서는 HashMap
클래스를 사용하여 Java에서 연관 배열을 구현했습니다.
키-값 쌍 형식의 데이터가 포함되어 있으며 getKey()
메서드를 사용하여 키에 액세스하고 getValue()
메서드를 사용하여 값에 액세스합니다.
import java.io.*;
import java.util.*;
public class SimpleTesting {
public static void main(String[] args) {
HashMap<String, String> hashmap = new HashMap<>();
hashmap.put("Virat", "Batsman");
hashmap.put("Bumrah", "Bowler");
hashmap.put("Jadeja", "All-rounder");
hashmap.put("Pant", "Wicket-Keeper");
Set<Map.Entry<String, String>> s = hashmap.entrySet();
List<Map.Entry<String, String>> array = new ArrayList<>(s);
for (int i = 0; i < array.size(); i++) {
System.out.println(array.get(i).getKey() + " is " + array.get(i).getValue());
}
}
}
출력:
Pant is Wicket-Keeper
Jadeja is All-rounder
Bumrah is Bowler
Virat is Batsman
이미 논의한 대로 해당 키는 고유해야 합니다. 연관 배열에 동일한 키를 삽입하면 key-value
쌍 중 하나가 삭제됩니다.
다음 코드에 두 개의 동일한 키 Virat
를 삽입했습니다. 아래 예를 참조하십시오.
import java.io.*;
import java.util.*;
public class SimpleTesting {
public static void main(String[] args) {
HashMap<String, String> hashmap = new HashMap<>();
hashmap.put("Virat", "Batsman");
hashmap.put("Bumrah", "Bowler");
hashmap.put("Jadeja", "All-rounder");
hashmap.put("Pant", "Wicket-Keeper");
hashmap.put("Virat", "Captain");
Set<Map.Entry<String, String>> s = hashmap.entrySet();
List<Map.Entry<String, String>> array = new ArrayList<>(s);
for (int i = 0; i < array.size(); i++) {
System.out.println(array.get(i).getKey() + " is " + array.get(i).getValue());
}
}
}
출력:
Pant is Wicket-Keeper
Jadeja is All-rounder
Bumrah is Bowler
Virat is Captain
Java에서 연관 배열에 요소 추가
put()
메소드를 사용하여 맵의 배열에 요소를 추가할 수 있습니다. 마찬가지로 remove()
메서드를 사용하여 배열에서 요소를 제거할 수 있습니다.
size()
메서드를 사용하여 배열의 크기를 알 수 있습니다.
import java.util.HashMap;
public class SimpleTesting {
public static void main(String[] args) {
HashMap<String, String> fruits = new HashMap<String, String>();
fruits.put("Apple", "Red");
fruits.put("Banana", "Yellow");
fruits.put("Guava", "Green");
fruits.put("Blackberries", "Purple");
System.out.println("The Size of fruits Map is : " + fruits.size());
// Remove Banana from the HashMap
fruits.remove("Banana");
// To find out the size of the Hashmap
System.out.println("The Size of fruits Map is : " + fruits.size());
// Check whether the key is present in the Hashmap or not
String fruit_key = "Apple";
if (fruits.containsKey(fruit_key)) {
System.out.println("The colour of " + fruit_key + " is: " + fruits.get(fruit_key));
} else {
System.out.println("There is no entry for the fruit of " + fruit_key);
}
}
}
출력:
The Size of fruits Map is : 4
The Size of fruits Map is : 3
The colour of Apple is: Red
Java에서 연관 배열의 요소 순회
for-each
루프를 사용하여 연관 배열을 탐색할 수 있습니다. HashMap
은 java.util
패키지에 속하므로 foreach
루프를 사용하여 해당 요소를 반복할 수 있습니다.
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
HashMap<String, String> fruits = new HashMap<String, String>();
fruits.put("Apple", "Red");
fruits.put("Banana", "Yellow");
fruits.put("Guava", "Green");
fruits.put("Blackberries", "Purple");
System.out.println("The Size of fruits Map is : " + fruits.size());
for (Map.Entry element : fruits.entrySet()) {
String key = (String) element.getKey();
System.out.println(key + " : " + element.getValue());
}
}
}
출력:
The Size of fruits Map is : 4
Guava : Green
Apple : Red
Blackberries : Purple
Banana : Yellow
Java 8에서 forEach()
메서드를 사용하여 연관 배열의 요소 탐색
Java 8 이상 버전으로 작업하는 경우 forEach()
메서드를 사용하여 배열 요소를 탐색할 수 있습니다. forEach()
메소드에는 lambda
표현식이 인수로 필요합니다.
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
HashMap<String, String> fruits = new HashMap<String, String>();
fruits.put("Apple", "Red");
fruits.put("Banana", "Yellow");
fruits.put("Guava", "Green");
fruits.put("Blackberries", "Purple");
System.out.println("The Size of fruits Map is : " + fruits.size());
fruits.forEach((k, v) -> System.out.println(k + " : " + v));
}
}
출력:
The Size of fruits Map is : 4
Guava : Green
Apple : Red
Blackberries : Purple
Banana : Yellow
이 튜토리얼에서는 Java가 기술적으로 연관 배열을 지원하지 않지만 HashMap
을 사용하여 쉽게 구현할 수 있음을 연구했습니다.