Java
JAVA - HashMap
장진혁
2023. 2. 16. 21:08
HashMap 선언
HashMap<String,String> map2 = new HashMap<>();//new에서 타입 파라미터 생략가능
HashMap<String,String> map4 = new HashMap<>(10);//초기 용량(capacity)지정
HashMap 값 추가
map.put(Key,value); //값 추가
// map.getOrDefault(ps,0)+1
// ps키의 값을 가지고오는데 값이 없으면 0을 리턴 (0+1해서 1을 넣어줌)
for (String ps : participant){
map.put(ps,map.getOrDefault(ps,0)+1);
// map.get(cs)-1
// cs키의 값을 가지고와서 -1한 다음 0을 넣음
for (String cs : completion){
map.put(cs,map.get(cs)-1);
HashMap 값 출력
- entrySet이 KeySet보다 시간이 많이 소요되므로 많은 양의 데이터가 필요하면 entrySet() 이 좋다고 한다.
for (Map.Entry<String, Integer> entry : map.entrySet()){
if (entry.getValue()!=0) {
answer += entry.getKey();
System.out.println(map); //전체 출력 : {1=사과, 2=바나나, 3=포도}
System.out.println(map.get(1));//key값 1의 value얻기 : 사과
//entrySet() 활용
for (Entry<Integer, String> entry : map.entrySet()) {
System.out.println("[Key]:" + entry.getKey() + " [Value]:" + entry.getValue());
}
//KeySet() 활용
for(Integer i : map.keySet()){ //저장된 key값 확인
System.out.println("[Key]:" + i + " [Value]:" + map.get(i));
}
HashMap 값 출력 - Iterator 사용
//entrySet().iterator()
Iterator<Entry<Integer, String>> entries = map.entrySet().iterator();
while(entries.hasNext()){
Map.Entry<Integer, String> entry = entries.next();
System.out.println("[Key]:" + entry.getKey() + " [Value]:" + entry.getValue());
//keySet().iterator()
Iterator<Integer> keys = map.keySet().iterator();
while(keys.hasNext()){
int key = keys.next();
System.out.println("[Key]:" + key + " [Value]:" + map.get(key));
import java.util.HashMap;
import java.util.Map;
public class ex20 { // 완주하지 못한 선수
public static String solution(String[] participant, String[] completion) {
String answer = "";
HashMap<String, Integer> map = new HashMap<>();
// map.getOrDefault(ps,0)+1
// ps키의 값을 가지고오는데 값이 없으면 0을 리턴 (0+1해서 1을 넣어줌)
for (String ps : participant){
map.put(ps,map.getOrDefault(ps,0)+1);
}
// map.get(cs)-1
// cs키의 값을 가지고와서 -1한 다음 0을 넣음
for (String cs : completion){
map.put(cs,map.get(cs)-1);
}
for (Map.Entry<String, Integer> entry : map.entrySet()){
if (entry.getValue()!=0) {
answer += entry.getKey();
break;
}
}
return answer;
}
public static void main(String[] args) {
String[] participant = {"leo", "kiki", "eden"};
String[] completion = {"eden", "kiki"};
System.out.println(solution(participant, completion));
}
}
참고사이트 - 참고자료
https://coding-factory.tistory.com/556
[Java] 자바 HashMap 사용법 & 예제 총정리
HashMap 이란? HashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션입니다. Map 인터페이스를 상속하고 있기에 Map의 성질을 그대로 가지고 있습니다. Map은 키와 값으로 구성된 Entry객체를 저장하는
coding-factory.tistory.com