-3

私はJavaでコレクションを取得しました。このコレクションには同一のレコードがあり、フィールドが1つだけ異なるため、次のように疑似的にコレクションをループします。

class Pojo {
    private String name;
    private Long id;
    private String address;
    private String bank;
}

コレクションには、名前、ID、住所が繰り返されたこのPojoが含まれていますが、銀行が異なるため、名前、ID、住所が同じで銀行が異なる場合は、最終的なリストに名前、ID、住所だけを含め、銀行をセミコロンで連結します。コロン区切り

オリジナルコレクション:

 - Id      Name     Address                Bank
 - 1       John     123 Main Ave           BankOfAmerica
 - 2      John     123 Main Ave           Chase
 - 3      John     123 Main Ave           ING Direct
 - 4      Willy    456 My Street          Chase
 - 5      Willy    456 My Street          BankOfAmerica

推測される結果:

    Name   Address            Bank
  - John   123 Main Ave       BankOfAmerica;Chase;ING Direct
  - Willy  456 My Street      Chase;BankOfAmerica
4

1 に答える 1

0

POJO名前、ID、アドレスを使用して equals/hash メソッドをオーバーライドします。セットを作成し、連続して要素を追加します。チェックIDを追加する前に、オブジェクトはメソッドを呼び出すことによってすでに存在していますcontains()。そこにある場合は、新しいセットからオブジェクトを取得し、既存のコレクションからアドレスを追加してアドレスを更新します。

于 2013-03-20T04:19:17.933 に答える