ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA - Map 정보
    카테고리 없음 2020. 3. 2. 11:37

    이전에 map이라고 하는 자료 구조에 대해서 포스팅 한 적이 있습니다. 이번에는 다시 한 번 더 자세히 포스팅해보도록 하겠습니다 기본적인 맵 개념은 링크를 붙여놓겠습니다.


    간단하게 개념을 정의하자면, Map은 "Key"와 "Value"로 구성되어 있습니다.


    예제가 있습니다. hashmap은 map을 실현한 클래스입니다. 맵은 java. util 패키지에 있는 인터페이스입니다. 먼저 최근까지도 가장 궁금했던 해시함수에 대해 알아보도록 하겠습니다.


    해시함수를 이용해 데이터를 해시 테이블에 저장하고 검색하는 기법 해시 테이블: 해시맵과 해시 테이블은 arraylist와 vector의 관계였다(새, 구 버전) 해시함수: 데이터가 저장되어 있는 곳을 알려준다.결과적으로 데이터를 빨리 찾을 수 있게 해줄게.Hash를 구현하는 메서드는 HashSet, HashMap, Hashtable 등이 있습니다. 위와 같이 collection framework이 생기고, hashtable은 hashmap으로 대체된 본인의 이전 소스코드와의 호환성 문제로 남아있다고 합니다.이 해시에서 사용되는 자료구조는 배열과 lineked list로 이루어져 있습니다.


    >


    이 그림과 같이 배열과 목록으로 이루어져 있습니다. 하지만 linked list는 array list와 달리 검색에 적합하지 않은 자료구조이기 때문에 하과인 배열에 리스트가 많아지면 속도가 어쩔 수 없이 느려집니다. 하지만 그에 비해 배열은 원하는 값의 index만 알면 쉽게 값을 찾을 수 있습니다. 그렇기 때문에 최소한의 필요한 값만 저장하면 엄청난 속도가 올라갑니다. 사이즈를 적절히 지정해야 하는 것이 포인트.검색하고자 하는 값의 키로 해시함수를 호출 코드에 반환된 값이 저장되어 있는 링크트 리스트를 검색 링크트 목록에서 검색한 키와 같은 데이터를 찾는 소음 검색 절차는 이렇습니다. ​ 해시 함수는 뭔가 쉽게 찾기로 하는 값을 하나 0진수로 변환한 가격이라고 알고 있으면 됩니다.Hash Map은 해시에 의해 데이터의 정합성에 효율성이 높아진 클래스입니다.


    이후에는 트리맵입니다. 말그대로이분검색트리모양이라고합니다. 한마디로 바이너리 검색 트리와 맵을 합쳐서 바이너리 검색 트리 구조를 가지고 있으며 key와 value 형태의 데이터를 저장합니다.차이점 "Hash Map은 다양한 검색 부분에서 트리 맵보다 뛰어난 성능을 보인다. 그러나, 범위에서 하는 검색이 과인 정렬을 필요로 하는 경우에는 트리맵이 더 뛰어난 성능을 가지고 있다.라고 설명되어 있습니다. ​ 1반 적으로 사용할 때는 HashMap을 사용하는 편이 더 효율적인 것입니다. 귀취에 따라서도 다를텐데요.


    https://docs.oracle.com/javase/8/docs/api/java/util/Map.html


    맵에 대한 메서드는 여기 있어요. 전체적으로 과인이기 때문에 참고하는 것은 좋지만, 그렇다고 다 외우는 것은 비효율적이라고 생각한다. 외워서 안 쓰면 쓰는 법을 잊어버릴 거예요.


    댓글

Designed by Tistory.