作者sbrhsieh (偶尔想摆烂一下)
看板java
标题Re: [问题] hashtable的问题
时间Fri Mar 5 01:44:19 2010
※ 引述《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)