我想制作 HashSet的ArrayList 并使用它。
我将获得一个整数N作为用户输入
我必须制作一个hashset并在其中加入一些值
然后将其添加到ArrayList,上面的步骤将完成N次
之后我必须检查一个元素是否存在于ArrayList的第一个/第二个/第三个......或第N个哈希集中。
检查用户也给出hashset的值。
我不必将我的ArrayList转换为hashset,我必须将ArrayList转换为hashset。
答案 0 :(得分:2)
只需创建一个HashSet的ArrayList:
ArrayList<HashSet<Integer>> list = new ArrayList<HashSet<Integer>>();
然后创建HashSets,填充它们,并将它们正常放入ArrayList中。
HashSet<Integer> set = new HashSet<Integer>();
set.add(1);
set.add(whateverIntValue);
list.add(set);
然后,您可以使用list.get(n)
获取列表的第n个HashSet。
答案 1 :(得分:1)
List<Set<Integer>> sets = new ArrayList<>();
sets.add(someSet());
sets.add(someSet());
sets.add(someSet());
Set<Integer> someSet() {
Set<Integer> set = new Hashset<>();
Collections.addAll(set, 2, 3, 5, 7, 11);
return set;
}
这区分了变量的规范 /接口,方法参数和结果,以及实现 /实现类。
所以你可以改变实现,比如对一个排序的TreeSet没有痛苦。