if (!mainMethods.matrix.isEmpty()) {
for (int i = 0; i < mainMethods.matrix.values().size(); i++) {
if (mainMethods.matrix.containsValue(getArrayList()[i].getValue().toString().contains(textValue.getText()))) {
String errorTitle = "Impossível completar a operação.";
String errorMessage = "Não é possível adicionar um valor de chave repetido.";
JOptionPane.showMessageDialog(getParent(), errorMessage, errorTitle, JOptionPane.ERROR_MESSAGE);
}
}
「マトリックス」と呼ばれるこの HashMap があり、多くのキーがあります。すべてのキーの値は、独自の値を持つ ArrayList です。これを考慮すると、HashMap のメソッド「.containsValue()」に String 引数を渡すと、メソッドが ArrayList を見つけるため、ArrayList-Values 内に特定の値があるかどうかをテストする方法が見つかりません。オブジェクトとテストは false になります。したがって、例で行ったように、かなり狂ったことをしなければなりません。ご覧のとおり、「getArrayList()」や「getValue()」のようなものはありません。これは非常に複雑な状況であり、「疑似コード」を使用してポイントを説明しようとしました。
あなたはそれを解決する方法を知っていますか?