Java ArrayList
到HashSet
的转换
原文:https://www.studytonight.com/java-examples/java-arraylist-to-hashset-conversion
在这篇文章中,我们将把 Java 中的ArrayList
转换为 HashSet 。ArrayList
是List
接口的实现类,而HashSet
是Set
接口的实现类。
如果我们想得到一个独特元素的集合,那么我们可以使用 HashSet。ArrayList
到HashSet
的转换将删除ArrayList
中所有重复的元素。
虽然有几种方法可以将 ArrayList 转换成 HashSet,但是这里我们使用了一些常见的方法,比如使用 add()方法或者 HashSet 构造器或者最新 java 版本的 流 API 。
举例时间:
让我们举个例子从ArrayList
中获取 HashSet。在这里,我们将ArrayList
传递给 HashSet 构造器,以获取唯一元素的集合。请看下面的例子。
import java.util.ArrayList;
import java.util.HashSet;
public class Main {
public static void main(String[] args){
ArrayList<String> arrList = new ArrayList<>();
arrList.add("Mango");
arrList.add("Apple");
arrList.add("Orange");
arrList.add("Apple");
System.out.println(arrList);
// ArrayList to HashSet
HashSet<String> hashSet = new HashSet<String>(arrList);
System.out.println("HashSet:");
System.out.println(hashSet);
}
}
【芒果,苹果,橘子,苹果】
HashSet
:
【苹果,芒果,橘子】
示例:
让我们创建另一个示例来将ArrayList
转换为 HashSet。这里,我们使用 add()方法将每个元素逐个添加到 HashSet 中,并获得一个唯一的元素集合。
public class Main {
public static void main(String[] args){
ArrayList<String> arrList = new ArrayList<>();
arrList.add("Mango");
arrList.add("Apple");
arrList.add("Orange");
arrList.add("Apple");
System.out.println(arrList);
// ArrayList to HashSet
HashSet<String> hashSet = new HashSet<String>();
for (String arr : arrList) {
hashSet.add(arr);
}
System.out.println("HashSet:");
System.out.println(hashSet);
}
}
【芒果,苹果,橘子,苹果】
HashSet
:
【苹果,芒果,橘子】
示例:Java 8
如果您使用的是 Java 8 或更高版本,那么您可以利用 流 API 的优势,使我们的转换代码更加简洁和紧凑。这里,我们使用 stream 将ArrayList
元素收集为 HashSet。
import java.util.ArrayList;
import java.util.HashSet;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args){
ArrayList<String> arrList = new ArrayList<>();
arrList.add("Mango");
arrList.add("Apple");
arrList.add("Orange");
arrList.add("Apple");
System.out.println(arrList);
// ArrayList to HashSet
HashSet<String> hashSet = arrList.stream().collect(Collectors.toCollection(HashSet::new));
System.out.println("HashSet:");
System.out.println(hashSet);
}
}
【芒果,苹果,橘子,苹果】
HashSet
:
【苹果,芒果,橘子】