자료구조
자료구조 | 3-2. Map. java.util.Map
sunNprize
2022. 6. 5. 16:58
- Java.util.Map?

- 데이터 추가

- 데이터 읽기

- get , put , putAll , getOrDefault 등을 가장 많이 사용한다.
- HashMap // HashTable 의 차이?
- HashMap > not Synchronized // 멀티스레드X
- HashTable > Synchronized 되어 있습니다. // 멀티스레드 O
package programmers.lv2;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
/**
* packageName : programmers.lv2
* fileName : Target_number
* author : ipeac
* date : 2022-05-31
* description :
* ===========================================================
* DATE AUTHOR NOTE
* -----------------------------------------------------------
* 2022-05-31 ipeac 최초 생성
*/
//Array 장점 + List 장점 -> 유연하면서 빠르게 값을 찾아낼 수 있는
// Map : key > hash function => hash => bucket index => Data
//
// HashMap ; not synch
// HashTable : synch
// ConcurrentHashMap : synch + high concurrency
public class Target_number {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
//ConcurrentHashMap > synch + high concurrency 가 필요한 경우 !
Map<String, Integer> concurrentHashMap = new ConcurrentHashMap<>();
map.replace("A", 1, 11);
method1();
}
private static void method1() {
Hashtable<String, Integer> map = new Hashtable<>();
map.put("A", 1);
map.put("B", 2);
//A 키의 값이 10인 경우에 11로 바꾸세요!
map.replace("A", 10, 11);
//B라는 키에 2라는 값이 존재하는 경우 true 아니라면 false 를 반환합니다.
System.out.println(map.remove("B", 3));
//B라는 키를 삭제합니다 > 리턴값은 해당 B 키값 안의 밸류값을 리턴합니다.
System.out.println(map.remove("B"));
//A 에 값이 존재하지않는다면 해당 값을 넣어줘라!
map.putIfAbsent("A", 10);
System.out.println("map = " + map);
System.out.println(map.get("A"));
//"C"에 해당하는 키값을 가진 친구가 있냐 ? 없으면 null 말고 기본값을 반환하쇼!
System.out.println(map.getOrDefault("C", 0));
//Map 안의 밸류 / 키 값을 모조리 들고옵니다.
System.out.println(map.values());
System.out.println(map.keySet());
}
static class Solution {
public List<Integer> solution(long n) {
System.out.println("n = " + n);
String result = String.valueOf(n);
String[] result_arr = result.split("");
List<String> result_list;
result_list = Arrays.asList(result_arr);
System.out.println("result_list = " + result_list);
Collections.reverse(result_list);
List<Integer> result_int_list = new ArrayList<>();
for (String value : result_list) {
result_int_list.add(Integer.valueOf(value));
}
return result_int_list;
}
}
}