2

私は次のクラスを持っています:

class A {
    ArrayList<String> s = new ArrayList<>();
    double d = Double.MAX_VALUE;
}

私は次のようなArrayList<A> alist = new ArrayList<>(); いくつalistかの要素を持っています:

[[b  c]  1.3]
[[c  d]  0.2]
[[c  b  o]  0.9]
[[x  o  j]  1.8]
[[c  d]  1.7]
[[b  c  o]  2.2]
[[f  p  n]  1.1]
and so on...

必要なのは、これを繰り返して、オブジェクトalistの文字列リストに重複があるかどうかを確認することだけです。class Aその場合は、1 つの要素のみを保持し、他の d 値をその d 値に追加しalist、同じ文字列リストを持つ他の要素を削除します。例:
上記のリストから、2 番目と 5 番目の要素に重複した文字列リストがあることがわかります。そのため、それらの値を追加し、その追加された値を持つ要素の 1 つだけを保持し、他の要素を削除します。同様に、要素 3 番目と 6 番目には同じ文字列リストがあります (内部文字列リストでは文字列の順序は重要ではありません)。したがって、上記のリストの場合、予想される出力は次のようになります。

[[b  c]  1.3]
[[c  d]  1.9]
[[b  c  o]  3.1]
[[x  o  j]  1.8]
[[f  p  n]  1.1]

サンプルコードを提供して、これを手伝ってくれる人はいますか? 私はJavaが得意ではありません。なので、間違っていたらご容赦ください!

ありがとう!

4

1 に答える 1

0

開始するのに適した場所は、クラスAで.equals()メソッドが行うことを定義することです。次に、コレクションを反復処理してa.eqauls(b)かどうかを尋ねるのと同じくらい簡単です。

于 2012-06-15T19:19:28.860 に答える