如何创建Set <string>数组?

时间:2015-12-15 02:10:41

标签: java arrays arraylist set

我正在尝试声明Set<String>的数组,因此我不必单独管理每个集合。但事情出错了:

      ArrayList<Set<String>> categories=new LinkedHashSet<>();

在这里,Java说类型Set<String>是错误的,然后报告错误。

如果这是错误的,那么我该如何制作一个数组:

static  Set<String> category1 = new LinkedHashSet<>();

2 个答案:

答案 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)添加值,然后将该组添加到列表中。