在 Java 中,把 Set 转成数组有几种常见方式,下面按常用程度给你说明。
Object[](最简单)Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
Object[] array = set.toArray();
⚠️ 缺点:数组元素是 Object,需要强转,不推荐在严格类型场景使用。
Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
String[] array = set.toArray(new String[0]);
✅ Java 8+ 推荐写法 new String[0]
(底层会自动创建合适大小的数组)
String[] array = set.stream().toArray(String[]::new);
适合在做过滤、映射后再转数组:
String[] array = set.stream()
.filter(s -> s.length() > 1)
.toArray(String[]::new);
List 再转数组(不推荐但可行)List<String> list = new ArrayList<>(set);
String[] array = list.toArray(new String[0]);
| 场景 | 推荐方式 |
|---|---|
| 普通转换 | set.toArray(new String[0]) |
| 函数式处理 | stream().toArray(...) |
| 不需要泛型 | set.toArray() |
如果你是 Integer / 自定义对象 / 并行流 场景,也可以告诉我,我给你对应示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。