일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- StringUtils.hasText
- select
- 순서 보장
- it
- linux
- 다른사람 프로젝트 수정전 가져야할 자세
- 명령어
- 개발시작전 자세
- #{..}
- 비밀번호 변경 명령어
- Test 룸북 사용하기
- JSON
- 리눅스
- 스프링부트
- 룸북
- 자바스크립트 인라인
- Intellij
- 타임리프
- cmd
- 추천 프로그램
- 설정
- Java
- 함수 인자값 id
- 추천 사이트
- BindingResult
- 타임리프와 스프링
- 하모니카 OS 5
- 프로젝트 클린
- 시퀀스 조회
- js
Archives
- Today
- Total
웹개발 블로그
[Java] HashMap 메소드 본문
import java.util.HashMap;
import java.util.Map.Entry;
public class MapTest { //key 값과 value 값 출력하기
public static void main(String[] args) {
HashMap<Integer, String> map = new HashMap<Integer, String>(){{
put(1,"사과");
put(2,"바나나");
put(3,"포도");
}};
System.out.println(map); //{1=사과, 2=바나나, 3=포도}
System.out.println(map.get(1)); //사과
//entrySet() 활용
for(Entry<Integer, String> entry : map.entrySet()) {
System.out.println("[KEY] : "+entry.getKey() + " [Value] : "+entry.getValue());
}
// [KEY] : 1 [Value] : 사과
// [KEY] : 2 [Value] : 바나나
// [KEY] : 3 [Value] : 포도
/*
* 정리
* 1) 특정 key값의 value를 가져오고 싶다면 get(key)를 사용하면 됨
* 2) 전체 출력하려고 한다면 entrySet() 또는 keySet() 메소드를 활용하요 Map의 객체를 반환받은 후 출력
* 3) entrySet()은 key와 value 모두 필요한 경우 사용
* */
//KeySet() 활용
for(Integer i : map.keySet()) {
System.out.println("[Key] : "+i +" [Value] : "+map.get(i));
}
// [Key] : 1 [Value] : 사과
// [Key] : 2 [Value] : 바나나
// [Key] : 3 [Value] : 포도
/*
* 4) KeySet()은 key값만 필요할 경우 사용하는데 key값만 받아서 get(key)를 활용하여 value도 출력할 수도 있기에 어떤 메소드를 선택하든지 간에
* 큰 상관이 없어 대부분 코드가 간단한 KeySet을 활용하시던데 key값을 이용해서 value를 찾는 과정에서 시간이 많이 소모되고 많은 양의 데이터를 가져ㅑ와야한다면
* entrySet()이 좋다(약 20% ~ 200% 성능 저하가 있다)
* */
}
}
🔽HashMap의 전체 출력 시 반목문을 사용하지 않고 Interator를 사용해도된다.
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class MapIterator {
public static void main(String[] args) {
//HashMap의 전체 출력 시 반목문을 사용하지 않고 Interator를 사용해도된다.
HashMap<Integer, String> map = new HashMap<Integer, String>(){{
put(1,"사과");
put(2,"바나나");
put(3,"포도");
}};
//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());
}
// [Key]: 1 [Value]: 사과
// [Key]: 2 [Value]: 바나나
// [Key]: 3 [Value]: 포도
//KeySet().iterator()
Iterator<Integer> keys = map.keySet().iterator();
while(keys.hasNext()) {
int key = keys.next();
System.out.println("[Key] : "+key+ " [Value]: "+map.get(key));
}
// [Key] : 1 [Value]: 사과
// [Key] : 2 [Value]: 바나나
// [Key] : 3 [Value]: 포도
}
}
'◆JAVA > 자료구조' 카테고리의 다른 글
[java] HashMap은 순서가 보장이 안되니 LinkedHashMap을 사용하자 (0) | 2023.02.03 |
---|