똥글이꺼
378
2018-12-03 14:54:09
3
297

HashMap put 문제


HashMap<Integer, Entity> 를 이용하여

HashMap <Integer, Entity> test = new <Integer, Entity>;

for ( int i = 0 ; i < 50; i ++ ) {

    test.put(i,new Entity(xxx));

}

이렇게 넣고 있습니다.


그런데 i 가 15 이상이 되면 

HashMap에 담기는 순서가

1,2,3,4,5,6,7 .. .15 순차적으로 들어가던 값들이

17,16, 19,18, 21,20 이런식으로 들어가게 됩니다.

또 31 부터는 

33,34,31,32, 37,38,35,36

.. 무슨문제일까요... 차례대로 들어가고싶은데 


0
0
  • 답변 3

  • 20170923
    1k
    2018-12-03 14:56:26

    HashMap은 들어간 순서를 보장하지 않습니다.

    들어간 순서대로 사용하고 싶으시면 LinkedHashMap을 사용하시면 됩니다.

    http://library1008.tistory.com/11

    3
  • 20170923
    1k
    2018-12-03 14:57:49

    HashMap이 왜 순서를 보장하지 않는지 궁금하시다면 Hash 알고리즘을 검색 또는 아래의 블로그 참조하시면 될 것 같습니다.

    http://hsp1116.tistory.com/35

    2
  • 꼬마토끼
    21
    2018-12-05 21:28:19

    ArrayList도 한번 보세요

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.