22

Set在Java中有以下内容:

Set< Set<String> > SetTemp = new HashSet< Set<String> >();

我想将其数据移动到ArrayList

ArrayList< ArrayList< String > > List = new ArrayList< ArrayList< String > >);

有可能这样做吗?

4

5 回答 5

66

将数据移动HashSetArrayList

Set<String> userAllSet = new HashSet<String>(usrAllTemp);
List<String> usrAll = new ArrayList<String>(userAllSet);

usrAllTemp是一个ArrayList,它有一些值。同样的方式usrAll(ArrayList)userAllSet(HashSet).

于 2014-09-23T09:14:43.877 回答
15

你只需要循环:

Set<Set<String>> setTemp = new HashSet<Set<String>> ();
List<List<String>> list = new ArrayList<List<String>> ();
for (Set<String> subset : setTemp) {
    list.add(new ArrayList<String> (subset));
}

注意:您应该以小型大写字母开头变量名以遵循 Java 约定。

于 2012-11-29T18:21:03.543 回答
2

您可以使用 Stream 和收集器来做到这一点,我希望这是最简单的方法

listname = setName.stream().collect(Collectors.toList());
于 2019-01-17T16:24:01.117 回答
1

您可以使用addAll()

Set<String> gamesInstalledTemp = new HashSet< Set<String> >();
List<String> gamesInstalled = new ArrayList<>();
gamesInstalled.addAll(gamesInstalledTemp);
于 2018-11-09T07:09:25.160 回答
1

我们有这些方法可以在 java 中将 hashet 转换为 ararylist

方法1:我们将hashset作为参数在arraylist/list的构造函数中传递为

Set<String> hs = new HashSet<String>();
hs.add("java");
hs.add("php");
hs.add("html");
List<String> list = new ArrayList<String>(hs);

方法2:迭代Hashset并在列表中逐个添加元素

  for (String str : hs) {
    arraylist.add(str);
 }

方法:使用 arr.addAll() 方法

 With the help of addAll() you can add collection into list

参考: 如何将 HashSet 转换为 List/ArrayList

于 2021-02-09T09:35:38.903 回答