如何在 Java 中将 ArrayList 转换为 Set?


使用 Set 构造函数可以将 ArrayList 转换为一个 set 对象。结果集将消除列表中出现的任何重复项,并且只包含唯一值。

Set<String> set = new HashSet<>(list);

或者,我们可以使用 set.addAll() 方法将列表中的所有元素添加到 set 中。

set.addAll(list);

使用流,我们也可以从列表中获得一个 set。

set = list.stream().collect(Collectors.toSet());

例子

以下是通过多种方式显示列表到 set 转换的示例 −

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

public class CollectionsDemo {
   public static void main(String[] args) {
      List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 4, 5, 5));
      System.out.println("ArrayList: " + list);
      Set<Integer> set = new HashSet<>(list);
      System.out.println("Set: " + set);
      set = new HashSet<>();
      set.addAll(list);
      System.out.println("Set: " + set);
      set = new HashSet<>();
      set = list.stream().collect(Collectors.toSet());
      System.out.println("Set: " + set);
   }
}

输出

这将产生以下结果 −

ArrayList: [1, 2, 3, 4, 4, 5, 5]
Set: [1, 2, 3, 4, 5]
Set: [1, 2, 3, 4, 5]
Set: [1, 2, 3, 4, 5]

更新日期:2022 年 5 月 10 日

10K+ 浏览量

职业开步走

完成课程获取认证

开始
广告