Re: [問題] hashtable的問題
※ 引述《tstanly ()》之銘言:
: 已爬文
: http://caterpillar.onlyfun.net/Gossip/JavaGossip-V2/HashMap.htm
: 根據上面基本的Hashtable(Hashmap)教學,
: 宣告
: Hashtable<String,Integer> test=new Hashtable<String,Integer>();
: 我知道這樣是一個key->value
: 那如果要兩個key對一個value呢?
: 謝謝!
使用複合 key 有一全面性且固定的做法:
假設以 (String, int) 當作鍵值,你可以寫一個 class: Tuple_String_int,
並妥當實作 equals/hashCode method。每一個 Tuple_String_int object 都
包裝一個 String value 與 int value。
這種工作做起來蠻乏味的,早有工具(函式庫套件)可以代勞,比如 cglib 提供
的 net.sf.cglib.core.KeyFactory 就可以簡化你的工作。適用任意
type/數量/順序 組合的複合 key。
http://cglib.sourceforge.net/
http://cglib.sourceforge.net/apidocs/net/sf/cglib/core/KeyFactory.html
* cglib 是利用 Objectweb ASM 套件來動態產生上述例子中的 Tuple class。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.135.138
※ 編輯: sbrhsieh 來自: 218.173.135.138 (03/05 01:56)
討論串 (同標題文章)