如果我有列表如下聲明:存儲一個列表,另一個列表
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);
但這不起作用。
感謝您的幫助!
你不能添加整數HashSet
爲整數的列表。它們是兩種不同的數據類型。如果你將有一個整數而不是整數列表的HashSet
,那麼你就可以將它們添加到你的列表中。
這樣的:
HashSet< Integer> b = new HashSet< Integer>();
List< HashSet < Integer>> c = new ArrayList< HashSet< Integer>>();
c.add(b);
您已經聲明c
爲套(特別是「散集」),而不是名單列表的列表;所以添加一個列表是沒有意義的。如果你想c
是的名單列表,你可以寫:
List<List<Integer>> c = new ArrayList<List<Integer>>();
c.add(b);
您使用泛型和界定b
將是Integers
列表,並c
將是包含Integers
HashSet
個列表,這樣不行,你不能添加b
到c
肯定的,因爲整數首先列出整數 的hashsets的第二個名單有ywo變種,
添加從第一列表中的所有值secod列表的第一個值一樣,
HashSet<Integer> hs = new HashSet(); hs.addAll(b); c.add(hs);
for (Integer value: b){ c.add(new HashSet<Integer>(){{add(value);}};); }
您可以先創建一個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);
都沒有。 'c'包含(很多)整數的HashSets,'b'只是整數 – jlordo
它們是不同的類型,這是不可能的。編譯器抱怨。泛型是爲了確保編譯時兼容性。 – kosa
在這種情況下,將b添加到c是什麼意思?您是否想爲c設置一個HashSet <列表>?實際上,c是整數集合的列表,所以您可以添加的整數集合是整數集合,而不是整數列表。 –
user295691