자바

HashMap과 LinkedHashMap

y00ns00 2021. 5. 15. 00:31

 

HashMap은 <Key,Value> 쌍으로 저장할수 있는 자료구조이다.

 

하지만 단점이 있다 put을 이용해 데이터쌍을 삽입할때  삽입 순서가 지켜지지 않는다.

 

경우에 따라 순서가 보장되어야 할 때가 있고 그렇지 않을 때가 있다.

 

순서가 보장되어야 한다면 LinkedHashMap을 사용하면 된다.

 

 

예를들어

HashMap<Integer,Integer> map = new LinkedHashMap<>();

//map을 Integer형 key배열로 변환한다.
Integer key[] = map.keySet().toArray(new Integer[map.size()]);

//map에 1,2,3 이차례로 들어갔다고 가정하면

key[0] = 1 ,key[1]=2,[key[2] = 3; 이된다.

//그냥 HashMap을 사용하면 이순서가 지켜지지 않는다.
HashMap<Integer,Integer> map = new HashMap<>();