我有一组标志,它们是一个巨大的文本数据文件的一部分,作为单个字符。 在处理文件之前,我将每个标志映射到它所代表的属性的id。 在处理文件时,我需要尽快查找这些映射(我做了很多)。
目前我将这些存储在HashMap中。 代码如下所示:
private HashMap<Integer, Integer> _propertyKeys;
private int _getKeyedProperty(char key) {
return (_propertyKeys.get((int) key));
}
有没有什么方法可以更快地做到这一点,使用比HashMap更好的Map实现,甚至使用数组来防止装箱/拆箱?
答案 0 :(得分:2)
您可以使用GNU Trove中的TIntIntHashMap。它使用基元作为键和值。
我使用了GNU Trove基元列表类,发现与使用基本自动装箱的标准列表类相比,它们可以显着提高性能。
答案 1 :(得分:0)
如果你知道将要使用的完整标志集,你可以创建它们的枚举并使用java.util.EnumMap。