如何在Java中将数组转换为Set

我想将数组转换为Java中的Set。有一些明显的方法可以做到这一点(即使用循环),但我想要一些更整洁的东西,如:


java.util.Arrays.asList(Object[] a);

有任何想法吗?


GCT1015
浏览 10395回答 3
3回答

一只名叫tom的猫

像这样:Set<T> mySet = new HashSet<>(Arrays.asList(someArray));在Java 9+中,如果不可修改的设置是可以的:Set<T> mySet = Set.of(someArray);在Java 10+中,可以从数组组件类型推断泛型类型参数:var mySet = Set.of(someArray);

MMMHUHU

像这样:Set<T> mySet = new HashSet<>(Arrays.asList(someArray));在Java 9+中,如果不可修改的设置是可以的:Set<T> mySet = Set.of(someArray);在Java 10+中,可以从数组组件类型推断泛型类型参数:var mySet = Set.of(someArray);

忽然笑

Set<T> mySet = new HashSet<T>();Collections.addAll(mySet, myArray);这是来自JDK 6 的Collections.addAll(java.util.Collection,T ...)。另外:如果我们的数组充满原语怎么办?对于JDK <8,我只想编写一个明显的for循环来在一次传递中执行换行和添加到集合。对于JDK> = 8,一个有吸引力的选项是这样的:Arrays.stream(intArray).boxed().collect(Collectors.toSet());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java