使用char键存储整数时使用的最佳映射实现是什么?

时间:2009-07-22 07:34:31

标签: java char maps

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

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

    private HashMap<Integer, Integer> _propertyKeys;

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

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

2 个答案:

答案 0 :(得分:2)

您可以使用GNU Trove中的TIntIntHashMap。它使用基元作为键和值。

我使用了GNU Trove基元列表类,发现与使用基本自动装箱的标准列表类相比,它们可以显着提高性能。

答案 1 :(得分:0)

如果你知道将要使用的完整标志集,你可以创建它们的枚举并使用java.util.EnumMap。