Java8 : How can I use Pair in Hashmap

标签 java eclipse java-8

我对 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/

相关文章:

eclipse - 在 CDT 之上安装 Eclipse JDT

java - Vertx 缩放每个线程的实例数

java - 无法解析符号 'GravityCompat'

java - 尝试使用标准差java

java - 如何在 Java 8 中间接运行方法引用?

java-8 - 将此 lambda 替换为方法引用 'Objects::nonNull'

java - Spring 集成应用程序启动时生成种子时 CryptoAPI 意外失败

java - tomcat启动但无法从另一台电脑上收听

java - Eclipse dsl 应用程序无法隐藏未使用的透视图

eclipse - Eclipse Indigo CDT:函数无法解析