我经常遇到的场景,而在Java中使用的HashMap如下:
我有A类的对象的列表(List<A>
)
A有田诠释F1,F2 INT等领域。重点在HashMap中的Java
我必须从List构造一个映射来执行O(1)查找A的对象。关键是f1和f2(都是整数)的组合。
现在其下面的将是为在地图
壳体1使用最好的做法:在一般
壳体2:F2只能取2〜3个不同的值,而F1可以采取大数目的值。
Map<Integer, Map<Integer, List<A>>> // construction of map is cumbersome
Map<String, List<A>> //(key : String f1 + "_" + f2)
Map<Integer, List<A>> //(I tend to use this for case 2)
错过了澄清这里的一件事。 f1和f2不能唯一标识A的对象。更正了映射定义。
这三个都是不错的选择。使用哪一个取决于你的具体情况。 – Borealid 2012-02-07 05:44:50