我对 Java 完全陌生:
我正在尝试在 Java 8 中创建一个 HashMap:其中键是类 State 的对象,而我想要的值是 (string,state) 的元组。
我在网上搜索了 Java 中的元组,我发现这个名为 Pair 的类看起来像一个二元元组(我在这里阅读 :https://docs.oracle.com/javase/8/javafx/api/javafx/util/Pair.html 和这里:https://www.techiedelight.com/five-alternatives-pair-class-java/)-但我很困惑,因为我还在 stackoverflow 中阅读了一篇文章说Java8 中没有对。
我写了这一行:
HashMap<State, Pair<String, State>> visited = new HashMap<>();
我进口了:import java.util.*;
javafx.util.Pair
我收到如下错误消息: javafx could not be resolved
Pair cannot be resolved to a type
我该如何做我在 Java 8 中描述的事情?
最佳答案
我会给你建议,尝试创建你自己的 Pair 类实现,这很容易:
public class Pair<K, V> {
private final K first;
private final V second;
public Pair(final K first, final V second) {
this.first = first;
this.second = second;
}
public static <K, V> Pair<K, V> of(K first, V second) {
return new Pair<>(first, second);
}
public K getFirst() {
return first;
}
public V getSecond() {
return second;
}
}
在您的实现中,您可以声明任何构造函数、静态初始化方法或反序列化规则。它会比 JavaFX Pair 更舒服。
关于Java8 : How can I use Pair in Hashmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68335692/