DFA最小化算法在Java中很好地替代了Pair类? TreeSet istovjetna=new TreeSet(); 对于(配对PAR:PAROVI){ 如果(!可分辨。包含(par)){ istovjetna.add(标准件); System.out.println(par.toString()); } }

DFA最小化算法在Java中很好地替代了Pair类? TreeSet istovjetna=new TreeSet(); 对于(配对PAR:PAROVI){ 如果(!可分辨。包含(par)){ istovjetna.add(标准件); System.out.println(par.toString()); } },java,comparable,dfa,minimization,Java,Comparable,Dfa,Minimization,这是我写的代码的一小部分,我想最小化DKA,更准确地说,找到等价的状态 我遇到的问题是Pair类是不可比较的,因此“contains”之类的函数将无法工作,我将不得不进行一次大的修改 在上面的示例中,它将调用if子句上的错误。对于这个确切的问题,有没有快速的解决方法?您可以使用实现Comparable的Pair委托来制作包装器,但这是我能想到的最简单的事情,它是您自己的Pair类,还是提供给您的类?如果它是您自己的,您可以将其设置为implementcomparable。未来的答案是:使用记录:

这是我写的代码的一小部分,我想最小化DKA,更准确地说,找到等价的状态

我遇到的问题是Pair类是不可比较的,因此“contains”之类的函数将无法工作,我将不得不进行一次大的修改


在上面的示例中,它将调用if子句上的错误。对于这个确切的问题,有没有快速的解决方法?

您可以使用实现Comparable的Pair委托来制作包装器,但这是我能想到的最简单的事情,它是您自己的
Pair
类,还是提供给您的类?如果它是您自己的,您可以将其设置为
implementcomparable
。未来的答案是:使用记录:
record MyStringPair implements Comparable(String a,String b){public int compareTo(MyStringPair other){…}
我刚刚创建了自己的Pair类,它实现了Comparable,现在可以工作了。
TreeSet<Pair<String, String>> istovjetna = new TreeSet<Pair<String, String>>();
    for (Pair<String, String> par : parovi) {
        if (!distinguishable.contains(par)) {
            istovjetna.add(par);
            System.out.println(par.toString());
        }
    }