本文正在參加「Java主題月 - Java Debug筆記活動」,詳情查看活動連接java
在Java中如何將數組轉換爲一組git
我想將一個數組轉換爲java中的一個集合。有一些經常使用的方法能夠作到這一點(即便用一個循環),但我想要一些更簡潔的方法,如:java.util.Arrays.asList(Object[] a);
,有其餘方法嗎?github
用如下代碼舉例:數組
Set<T> mySet = new HashSet<>(Arrays.asList(someArray));
複製代碼
在Java 9 中,若是是未經修改的集合(unmodifiable set)能夠肯定的話,那麼就能夠改爲這樣:markdown
Set<T> mySet = Set.of(someArray);
複製代碼
在Java 10 中,能夠從數組組件類型推斷出通用類型參數:oop
var mySet = Set.of(someArray);
複製代碼
Set<T> mySet = new HashSet<T>();
Collections.addAll(mySet, myArray);
複製代碼
這是在JDK 6 中使用的方法Collections.addAll(java.util.Collection, T...)post
另外,若是咱們的數組充滿了基元,怎麼辦?google
對於小於JDK 8 的 JDK 來講,我將只會寫明顯的for循環來作包裝,並會一次性添加到設置; 對於大於JDK 8 的 JDK 來講,有一個很是有吸引力的選項:spa
Arrays.stream(intArray).boxed().collect(Collectors.toSet());
複製代碼
使用 Guava,你能夠:翻譯
T[] array = ...
Set<T> set = Sets.newHashSet(array);
複製代碼
本文翻譯自Stack Overflow。關於翻譯文章,聆風也相對生疏,不免有錯漏,歡迎各位大佬在評論區批評指正,謝謝!