자바 기초/자바 기본 개념
[JAVA] [hashMap] key값으로 value 찾기 /value로 key값 찾기/ key, value 있는지 확인/ key값들 각각 출력/ key, value 한꺼번에 가져오기
문에딕트
2022. 4. 6. 11:11
put: 맵에 데이터 입력
get: key를 통해 value얻기
** key, value 한꺼번에 가져오기 **
keySet(): KEY들 가져오기
values(): VALUE들 가져오기
** Key 값을 각각 출력하는 방법 **
1. iterator() 이용하는 방법
2. keySet()을 이용한 for문
3. Entry 이용하는 방법
** 맵에 키, 값 있는지 확인 **
containsKey(key): 맵에 인자로 보낸 키가 있으면 true 없으면 false
containsValue(value): 맵에 인자로 보낸 값이 있으면 true 없으면 false
package java_sort;
import java.util.HashMap;
import java.util.Map;
public class HashmapGetdata {
public static void main(String[] args) {
Map<String, Object> hashMap = new HashMap();
// put: 맵에 데이터 입력
hashMap.put("apple", 1);
hashMap.put("banana", "sweet");
hashMap.put("pear", 3);
hashMap.put("orange", 4);
// hashmap에 value 로 key 찾는 메소드 만들기
public static <K, V> K getKey(Map<K, V> map, V value) {
for (K key : map.keySet()) {
if (value.equals(map.get(key))) {
return key;
}
}
return null;
}
// 그 메소트를 이용해: value를 통해 key얻기
System.out.println(getKey(hashMap,"sweet"));
//banana
System.out.println(getKey(hashMap, "pear"));
//3
// get: key를 통해 value얻기
String getValue = (String) hashMap.get("banana");
System.out.println(getValue);
// sweet
int getOrange = hashMap.get("orange");
System.out.println(getOrange);
// 4
}
//** key, value 한꺼번에 가져오기
//keySet(): KEY들 가져오기
System.out.println(hashMap.keySet());
[apple, banana, pear, orange]
//values(): VALUE들 가져오기
System.out.println(hashMap.values());
[1, sweet, 3, 4]
// ** Key 값을 각각 출력하는 방법 **
// 1. iterator() 이용하는 방법
Iterator<String> iter = hashMap.keySet().iterator();
while(iter.hasNext()) {
String key = iter.next();
System.out.print(key + ", ");
}
// apple, banana, pear, orange
// 2. keySet()을 이용한 for문
for (String key : hashMap.keySet()) {
System.out.print(key + ", ");
}
// apple, banana, pear, orange
// 3. Entry 이용하는 방법
Set set = hashMap.entrySet();
Iterator iter2 = set.iterator();
while (iter2.hasNext()) {
Entry<String, Integer> entry = (Entry)iter2.next();
System.out.print((String)entry.getKey() + (Integer)entry.getValue() + ", ");
}
// apple 1 , banana 2 , pear 3, orange 4
// ** 맵에 키, 값 있는지 확인 **
//containsKey(key): 맵에 인자로 보낸 키가 있으면 true 없으면 false
System.out.println(hashMap.containsKey("apple"));
System.out.println(hashMap.containsKey("strawberry"));
//true
//false
//containsValue(value): 맵에 인자로 보낸 값이 있으면 true 없으면 false
System.out.println(hashMap.containsValue(1));
System.out.println(hashMap.containsValue(9));
//true
//false