温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Set集合转数组怎么做

发布时间:2026-07-24 13:19:14 来源:亿速云 阅读:86 作者:小樊 栏目:编程语言

在 Java 中,把 Set 集合转成数组 常见有几种做法,下面按推荐程度给你说明。


一、最常用:toArray(T[] a) ✅(推荐)

示例(Set → 数组)

Set<String> set = new HashSet<>();
set.add("A");
set.add("B");
set.add("C");

// 转成数组
String[] array = set.toArray(new String[0]);

// 输出
System.out.println(Arrays.toString(array));

说明

  • new String[0] 只是用来指定类型
  • Java 8+ 推荐写法
  • new String[set.size()] 更简洁、可读性更好

二、传统写法(指定大小)

String[] array = set.toArray(new String[set.size()]);

在 Java 早期版本中常见,现在不强制使用。


三、不推荐:toArray() 返回 Object[]

Object[] array = set.toArray();

缺点

  • 返回的是 Object[]
  • 需要强制类型转换
  • 容易引发 ClassCastException

四、如果 Set 里不是 String(例如 Integer)

Set<Integer> set = new HashSet<>();
set.add(1);
set.add(2);

Integer[] array = set.toArray(new Integer[0]);

五、Java 8+ Stream 写法(了解即可)

String[] array = set.stream().toArray(String[]::new);

✅ 可读性一般,不如 toArray() 直接。


六、常见误区 ❌

String[] array = (String[]) set.toArray(); // 错误

toArray() 返回的是 Object[],不能直接强转。


总结 ✅

写法 推荐度
set.toArray(new T[0]) ⭐⭐⭐⭐⭐
set.toArray(new T[size]) ⭐⭐⭐
set.toArray()
Stream ⭐⭐

如果你用的是 List / Map,或者想转成 int[] / 泛型数组,可以告诉我,我可以继续讲。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI