본문 바로가기
programming language/MATLAB

MATLAB hash table 사용하기

by __observer__ 2013. 10. 22.
반응형
아래 포스팅에서 MATLAB containers.Map 에 대해 소개했었는데요.



2012/06/10 - [programming language/MATLAB] - MATLAB MAP data structure


 

검색을 하다 보니 또 다른 방식으로 hash table을 구성 할 수 있더군요.

 

Hash table 은 key => Value 의 쌍으로 구성된 데이터 타입인데~

 

아래 포스팅에서는 hash table 을 MATLAB struct 와 java 를 이용하는 방식으로 소개 합니다.

 

http://smlv.cc.gatech.edu/2010/03/10/hash-tables-in-matlab/

 

첫번째로 struct 를 사용하는 방식의 예제 코드는 다음과 같습니다.

 

terms = { 'price' 'cents' 'govern' 'billion' 'company' 'state' 'economy' 'stock' };

ids = num2cell(1:length(terms));

dict = reshape({terms{:};ids{:}},2,[]);

dict = struct(dict{:});

dict.('cents') % my two cents!

 

위 예제에서 dict 라는 변수는 struct 라는 것을 확인 할 수 있고~ 다음과 같이 struct 의 field 와 값의 형태로 구성됩니다.

 

 

위에서 struct 를 사용하는 방식은 hash table 의 크기가 작을때는 유용하게 사용할 수 있을 것 같은데… 그 크기가 커지면 그렇게 좋은 방식은 아닌 것 같군요.

 

다음으로 java 를 사용하는 방식인데~ 에제 코드는 다음과 같습니다.

 

dict = java.util.Hashtable;

dict.put('key',[1 2 3]);

dict.get('key')

dict.containsKey('key')

 

dict.size 라고 하면 hash table dict 의 크기를 알 수 있고~ dict.keySet 라고 하면 어떤 key 값들이 정의되어 있는지 확인 할 수 있습니다.

 


반응형

댓글