반응형
Notice
Recent Posts
Recent Comments
IT 일기장
[Java] LinkedHashMap 사용법과 예제 본문
반응형
Excel POI로 엑셀 다운로드 개발하고 있을때 발생한 개념이였다.
여러 방법을 생각하기 위해 시행착오를 몇 번 겪었었는데
그 중에서 DB에서 Column들에 대한 Key값들을 순서대로 가져오고 싶었을때 이 개념을 찾아냈다.
LinkedHashMap 사용법은 간단하다. HashMap과 동일한 개념이다. HashMap 예제부터 살펴보면
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("test1", 1);
map.put("test2", 2);
map.put("test3", 3);
map.put("test4", 4);
map.put("test5", 5);
for (Map.Entry<String, Object> result : map.entrySet()) {
System.out.println(result.getKey() + " : " + result.getValue());
}
결과를 실행해보면 당연히 순서대로 1,2,3,4,5가 뜨겠지~ 했는데 뒤죽박죽 뜬다.
Hashing 한 값의 순서를 기준으로 정렬되어 나오느라 들어간 순서는 보장되지 않는다고 한다.
그래서 순서가 바뀐 것이고 그렇다고 매번 뒤죽박죽이 되진 않는다. 한번 정해진 순서는 그래도 계속 유지되는 듯 하다. 하지만 ReHash가 된다면 다시 달라지겠지..
아무튼 바로 LinkedHashMap을 적용해보자. 계속 실행해도 순서가 변하지 않는 것을 볼 수 있다.
LinkedHashMap<String, Object> map = new LinkedHashMap<String, Object>();
map.put("test1", 1);
map.put("test2", 2);
map.put("test3", 3);
map.put("test4", 4);
map.put("test5", 5);
for (Map.Entry<String, Object> result : map.entrySet()) {
System.out.println(result.getKey() + " : " + result.getValue());
}
반응형
'프로그래밍 언어 > Java' 카테고리의 다른 글
[Java] POI로 SXSSFWorkbook 엑셀 다운로드 구현 (0) | 2024.08.27 |
---|---|
[Java] 현재 날짜 및 시간 구하기 (0) | 2024.06.26 |
[Java] List<Map<..>>을 Json으로 변환 (0) | 2024.06.18 |
[Java] 코드 취소선 (deprecated) (0) | 2022.12.08 |
[Java] Java Error : Registry key ~ has value '1.8' but 1.7 is required (0) | 2022.12.06 |
Comments