如果我有以下列表声明:
List< Integer> b = new ArrayList< Integer>();
和
List< HashSet < Integer>> c = new ArrayList< HashSet< Integer>>();
我想知道如何将b
添加到c
?
我试过c.add(b);
但这不起作用。
感谢您的帮助!
答案 0 :(得分:1)
您已将c
声明为集列表(特别是“散列集”),而不是列表列表;所以向它添加一个列表是没有意义的。如果您希望c
成为列表的列表,您可以写:
List<List<Integer>> c = new ArrayList<List<Integer>>();
c.add(b);
答案 1 :(得分:1)
您无法将HashSet
个整数添加到整数列表中。它们是两种不同的数据类型。如果你有一个HashSet
的整数而不是整数列表,那么你就可以将它们添加到你的列表中。
HashSet< Integer> b = new HashSet< Integer>();
List< HashSet < Integer>> c = new ArrayList< HashSet< Integer>>();
c.add(b);
答案 2 :(得分:1)
您正在使用泛型并定义b
将是Integers
的列表,而c
将是包含HashSet
的{{1}}列表,所以不,您无法将Integers
添加到b
答案 3 :(得分:1)
是的,因为第一个整数列表是第二个整数的散列集列表 有两个变种,
将第一个列表中的所有值添加到secod列表的第一个值
HashSet<Integer> hs = new HashSet(); hs.addAll(b); c.add(hs);
for (Integer value: b){ c.add(new HashSet<Integer>(){{add(value);}};); }
答案 4 :(得分:1)
您可以先创建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);