Java实现数组去重方法详解
在Java中,我们经常需要对数组进行去重操作,即去除数组中的重复元素,这个操作也是很常见的。
下面就介绍几种Java实现数组去重的方法。
方法一:使用Set集合去重
Set是一种不允许重复的集合,因此我们可以使用Set集合来去重。
public static <T> T[] removeDuplicates(T[] arr) {
return Arrays.stream(arr).distinct().toArray(size -> Arrays.copyOf(arr, size));
}
// 示例
String[] arr = {"a", "b", "c", "a", "d", "b"};
String[] newArr = removeDuplicates(arr);
System.out.println(Arrays.toString(newArr)); // 输出:[a, b, c, d]
方法二:使用HashSet去重
HashSet底层实现了HashMap,而HashMap的key是不能重复的,所以我们可以使用HashSet来去重。
public static <T> T[] removeDuplicates(T[] arr) {
Set<T> set = new HashSet<>();
return Arrays.stream(arr).filter(e -> set.add(e)).toArray(size -> Arrays.copyOf(arr, size));
}
// 示例
String[] arr = {"a", "b", "c", "a", "d", "b"};
String[] newArr = removeDuplicates(arr);
System.out.println(Arrays.toString(newArr)); // 输出:[a, b, c, d]
以上就是Java实现数组去重的两种方法,根据具体需求选择合适的方法即可。
另外需要注意的是,如果数组中的元素是自定义类型,需要重写该类型的equals和hashCode方法才能正常去重。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实现数组去除重复数据的方法详解 - Python技术站