0

我有一组标志,它们是作为单个字符的巨大文本数据文件的一部分。在处理文件之前,我将每个标志映射到它所代表的属性的 id。在处理文件时,我需要尽快查找这些映射(我经常这样做)。

目前我将这些存储在 HashMap 中。代码如下所示:

    private HashMap<Integer, Integer> _propertyKeys;

    private int _getKeyedProperty(char key) {
      return (_propertyKeys.get((int) key));
    }

有什么方法可以让我更快地做到这一点,使用比 HashMap 更好的 Map 实现,甚至使用数组来防止装箱/拆箱?

4

2 回答 2

2

您可以使用来自 GNU Trove 的TIntIntHashMap 。它使用原语作为键和值。

我使用了 GNU Trove 原始列表类,发现与使用原始自动装箱的标准列表类相比,它们提供了显着的性能改进。

于 2009-07-22T07:39:37.413 回答
0

如果您知道将使用的完整标志集,则可以创建它们的 Enum 并使用 java.util.EnumMap。

于 2009-07-22T17:46:55.360 回答