不使用集合的Java键值对

不使用集合的Java键值对,java,collections,Java,Collections,如何在不使用Java集合的情况下管理HashMap中的键值对 我发现了这个(来自Commons Lang的结对类) Pair keyValue=新的不可变对(“键”、“值”); 这是处理问题的唯一方法吗?还是有其他的处理方法 就个人而言,我不喜欢,我喜欢内置的收藏 话虽如此 如果您想要性能更好/内存更小的东西,请查看。它们有消除额外条目(键值对)类的映射实现。如果您的键或值是基元(例如,int),则它们特别好 如果您想要更好的可预测性(另一个性能方面),请查看。他们的collections类

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

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

Pair keyValue=新的不可变对(“键”、“值”);

这是处理问题的唯一方法吗?还是有其他的处理方法

就个人而言,我不喜欢,我喜欢内置的收藏

话虽如此

  • 如果您想要性能更好/内存更小的东西,请查看。它们有消除额外条目(键值对)类的映射实现。如果您的键或值是基元(例如,int),则它们特别好
  • 如果您想要更好的可预测性(另一个性能方面),请查看。他们的collections类提供了更好的最坏情况时间(想想当您向标准集合中插入某个内容并触发了调整大小…)
  • 如果您正在寻找具有更多功能的collections类,请查看

A
Map
不是
集合
,因此如果您不喜欢java集合,请使用
HashMap
尝试泛型并创建自己的类:

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());
    }

}
公共类对{
私钥;
私人价值;
公共对(K键,V值){
this.key=key;
这个值=值;
}
公共K getKey(){
返回键;
}
公共无效设置密钥(K密钥){
this.key=key;
}
public V getValue(){
返回值;
}
公共无效设置值(V值){
这个值=值;
}
公共静态void main(字符串[]args){
配对=新配对(“键”、“值”);
System.out.println(pair.getKey());
System.out.println(pair.getValue());
}
}

您想要实现什么目标?这把钥匙怎么用?你为什么不想使用Java的类呢?你可以使用对的列表,然后在列表上实现一些查找逻辑。你可以编写自己的类,可以使用其他对类型的类,可以使用
列表
甚至
字符串[]
。。。有很多方法可以获得两个
String
s。这真的取决于你的需要。@SotiriosDelimanolis:有人提出了这个问题,我很好奇。谢谢大家,我还是很困惑。您是在尝试使用类似于地图的数据结构,还是只需要对?是否要按键查询某个内容?是,技术上它不在收集中。“但一般来说,它被视为一个整体,不是吗?”你说的是山姆·沃特@Shakebayaz哪一部分你不懂?我想说的是,若你们看收藏图表,地图不属于收藏范畴,但当你们谈论收藏时,地图是其中的一部分。我错了吗?如果地图不是收藏品的一部分,那么你怎么可以在书中谈论地图呢collection@ShakeebAyaz虽然Map不是集合,但它是“集合框架”的一部分
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());
    }

}