我正在尝试声明Set<String>
的数组,因此我不必单独管理每个集合。但事情出错了:
ArrayList<Set<String>> categories=new LinkedHashSet<>();
在这里,Java说类型Set<String>
是错误的,然后报告错误。
如果这是错误的,那么我该如何制作一个数组:
static Set<String> category1 = new LinkedHashSet<>();
答案 0 :(得分:2)
您正在使用LinkedHashSet对象初始化ArrayList,因此错误:
ArrayList<Set<String>> categories=new LinkedHashSet<>();
将其更改为
ArrayList<Set<String>> categories=new ArrayList<>();
创建要添加到列表中的Set时,需要使用HashSet。像这样:
Set<String> firstSet = new HashSet<String>();
//build your set
//add set to list
categories.add(firstSet);
顺便说一下,你在问题描述中提到了数组,所以这里是普通数组的声明:
Set<String>[] categories=new HashSet[10];
答案 1 :(得分:0)
您可以执行以下操作:
List<HashSet> list =new ArrayList<HashSet>();
HashSet<String> hs =new HashSet<String>();
hs.add(value1);
hs.add(value2);
list.add(hs);
您可以使用for或while循环向set(hs)添加值,然后将该组添加到列表中。