リストの次の宣言があるとします。
List< Integer> b = new ArrayList< Integer>();
と
List< HashSet < Integer>> c = new ArrayList< HashSet< Integer>>();
どうすれば に追加できるのだろうと思っていb
ましたc
か?
試しましc.add(b);
たが、これはうまくいきません。
助けてくれてありがとう!
リストの次の宣言があるとします。
List< Integer> b = new ArrayList< Integer>();
と
List< HashSet < Integer>> c = new ArrayList< HashSet< Integer>>();
どうすれば に追加できるのだろうと思っていb
ましたc
か?
試しましc.add(b);
たが、これはうまくいきません。
助けてくれてありがとう!
ジェネリックを使用しており、それが のリストになり、を含む のリストになるb
と定義しているため、いいえ、に追加することはできませんIntegers
c
HashSet
Integers
b
c
はい、整数の最初のリスト 整数のハッシュセットの 2 番目のリスト ywo バリアントがあるため、
そのような最初のリストのすべての値を2番目のリストの最初の値に追加します
HashSet<Integer> hs = new HashSet(); hs.addAll(b); c.add(hs);
for (Integer value: b){ c.add(new HashSet<Integer>(){{add(value);}};); }
リストのリストではなく、セットのリスト(具体的には「ハッシュセット」)c
として宣言しました。そのため、リストを追加しても意味がありません。リストのリストになりたい場合は、次のように記述できます。c
List<List<Integer>> c = new ArrayList<List<Integer>>();
c.add(b);
最初に を作成し、HashSet
そこから要素を設定してから、以下のようb
に HashSet を追加できます。c
List< Integer> b = new ArrayList< Integer>();
List< HashSet < Integer>> c = new ArrayList< HashSet< Integer>>();
HashSet < Integer> b1= new HashSet<Integer>();
b1.addAll(b);
c.add(b1);
HashSet
整数のリストに整数を追加することはできません。これらは 2 つの異なるデータ型です。整数のリストではなく整数のがある場合はHashSet
、それらをリストに追加できます。
このような:
HashSet< Integer> b = new HashSet< Integer>();
List< HashSet < Integer>> c = new ArrayList< HashSet< Integer>>();
c.add(b);