问题描述
我想在 Java 中将数组转换为 Set.有一些明显的方法可以做到这一点(即使用循环),但我想要一些更整洁的方法,比如:
I would like to convert an array to a Set in Java. There are some obvious ways of doing this (i.e. with a loop) but I would like something a bit neater, something like:
java.util.Arrays.asList(Object[] a);
有什么想法吗?
推荐答案
像这样:
Set<T> mySet = new HashSet<>(Arrays.asList(someArray));
在 Java 9+ 中,如果不可修改的集合是可以的:
In Java 9+, if unmodifiable set is ok:
Set<T> mySet = Set.of(someArray);
在 Java 10+ 中,泛型类型参数可以从数组组件类型中推断出来:
In Java 10+, the generic type parameter can be inferred from the arrays component type:
var mySet = Set.of(someArray);
小心
Set.of 抛出 IllegalArgumentException - 如果有任何重复someArray 中的元素.查看更多详细信息:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html#of(E...)
Set.of throws IllegalArgumentException - if there are any duplicate elements in someArray. See more details: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html#of(E...)
这篇关于如何在 Java 中将数组转换为集合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!