不使用集合的Java键值对

时间:2014-06-24 04:06:52

标签: java collections

如何在不使用Java Collections的情况下管理HashMap中的键值对。

我发现了这个(来自Commons Lang的对类)

Pair<String, String> keyValue = new ImmutablePair("key", "value");

这是唯一可以处理的方法吗?还是有其他方法可以处理?

3 个答案:

答案 0 :(得分:4)

个人我不会,我喜欢内置的收藏品。

说过......

  • 如果您想要性能更好/内存更小的内容,请查看trove。他们的地图实现会消除额外的Entry(键值对)类。如果你的键或值是原始的(例如,整数),它们会特别好。
  • 如果您想要具有更好可预测性的内容(另一个性能方面),请查看javolution。他们的集合类提供了更好的最坏情况时间(想想当你在标准集合中插入一些内容时会发生什么,而你刚刚触发调整大小......)
  • 如果您正在寻找具有更多功能的集合类,请查看guava

答案 1 :(得分:2)

如果您不喜欢java集合,请尝试使用Generics并创建自己的类:

public class Pair<K, V> {

    private K key;

    private V value;

    public Pair(K key, V value) {
        this.key = key;
        this.value = value;
    }

    public K getKey() {
        return key;
    }

    public void setKey(K key) {
        this.key = key;
    }

    public V getValue() {
        return value;
    }

    public void setValue(V value) {
        this.value = value;
    }

    public static void main(String[] args) {
        Pair<String, String> pair = new Pair<String, String>("key", "value");
        System.out.println(pair.getKey());
        System.out.println(pair.getValue());
    }

}

答案 2 :(得分:1)

Map Collection,因此请使用HashMap