holyya.com
2025-09-07 05:32:25 Sunday
登录
文章检索 我的文章 写文章
我最近在Java中使用Set和List进行一些操作
2023-06-18 17:21:12 深夜i     --     --

我最近在Java中使用Set和List进行一些操作,发现Set和List之间的数据转换很常见,今天我来总结一下Set转List的方法。

首先需要明确的是,Set与List的最大区别就是Set不能存储重复元素,而List可以。因此,在将Set转为List时,我们需要考虑去除重复元素。下面是我写的实现代码:


Set set = new HashSet<>();

set.add(1);

set.add(2);

set.add(3);

set.add(2);

List list = new ArrayList<>(new HashSet<>(set));

System.out.println(list);

在上面的代码中,我们首先创建了一个Set,其中包含了1、2、3和2这几个元素。我们利用Set去重的特性创建了一个新的HashSet,再将该HashSet作为参数传入ArrayList的构造方法中,从而创建一个List。

除此之外,我们还有其他两种方法可以将Set转为List,其中一种是利用List.addAll()方法:


Set set = new HashSet<>();

set.add(1);

set.add(2);

set.add(3);

set.add(2);

List list = new ArrayList<>();

list.addAll(set);

System.out.println(list);

在上面的代码中,我们创建了一个空的ArrayList,然后通过List.addAll()方法将Set中的元素全部添加到该List中。

还有一种方法是使用Java 8的Stream API,在这种方法中,我们可以通过set.stream().collect(Collectors.toList())来将Set转为List:


Set set = new HashSet<>();

set.add(1);

set.add(2);

set.add(3);

set.add(2);

List list = set.stream().collect(Collectors.toList());

System.out.println(list);

这种方法非常简洁明了,但需要注意的是需要使用Java 8及以上版本。

通过上面三种方法,我们可以很轻松地将Set转为List,但需要注意的是,我们需要考虑去重和效率问题。在使用时请根据具体情况选择最合适的方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复