我提出的一个问题是:
所有行都应该存储在一个对象中 输入
List<Set<Integer>>
。
你如何用Java编写这个,就像你如何初始化这个列表一样?我以前从没见过这个。
请提供一个解释的链接,因为我不确定这是用Java调用的,所以不知道如何了解它。谢谢。
答案 0 :(得分:4)
设置的列表,其中每个设置只能包含整数。
Set<Integer> singlesSet = new HashSet<>();
singlesSet.add(1);
singlesSet.add(2);
Set<Integer> tensSet = new HashSet<>();
tensSet.add(10);
tensSet.add(20);
List<Set<Integer>> list = new ArrayList<>();
list.add(singlesSet);
list.add(tensSet);
System.out.println(list);
答案 1 :(得分:3)
Set
和List
的使用示例。请注意,TreeSet
中的元素始终排序。
List<Set<Integer>> listofsets = new ArrayList<Set<Integer>>();
Set<Integer> set1 = new TreeSet<Integer>();
set1.add(1);
set1.add(2);
Set<Integer> set2 = new TreeSet<Integer>();
set2.add(6);
set2.add(4);
listofsets.add(set);
// listofsets = {{1,2}, {4,6}}
答案 2 :(得分:0)
在Java中,List
接口表示 thing 的抽象列表。实现List
(例如,LinkedList
)的任何类都必须实现其方法并根据其合同执行。
您基本上可以将其视为一个数组,但请记住,数组只是一种列表,而List
的实现没有具有来在内部使用数组。
Set
也表示元素的集合,但它们之间没有任何关系或联系。在视觉上,您可以将一组视为的东西。您可以在行李中添加和删除内容,但 这些项目都不相关。
当然,Integer
只是Java int
原语的对象包装器。
因此,List<Set<Integer>>
对象与类似到二维数组,只是在第二维中没有定义的顺序。
您可以按如下方式初始化List<Set<Integer>>
:
List<Set<Integer>> myList = new ArrayList<HashSet<Integer>>();
其中ArrayList
和HashSet
可以是分别实施List
和Set
的任何类。
答案 3 :(得分:0)
喜欢这个List<Set<Integer>> yourList = new ArrayList<Set<Integer>>();
?
您可能需要查看https://docs.oracle.com/javase/7/docs/api/java/util/List.html
答案 4 :(得分:0)
简短的方法:
List<Set<Integer>> list = new ArrayList<Set<Integer>>();
Set<Integer> set = new HashSet<Integer>();
list.add(set);
set.add(1);
set.add(2);
....