您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

java数组去重方法有哪些

2024/5/1 18:02:07发布19次查看
java数组去重方法有:1、使用java 8的stream api,可以使用stream api的“distinct()”方法去除数组中的重复元素;2、使用hashset,hashset是一个不能包含重复元素的集合,可以去除数组中的重复元素;3、使用treeset,treeset是一个有序集合,不能包含重复元素,需要注意treeset的使用需要额外的空间来存储元素等等。
本教程操作系统:windows10系统、dell g3电脑。
在java中,有多种方法可以用来去除数组中的重复元素。以下是一些常见的方法:
1. 使用java 8的stream api
java 8引入了stream api,它使得处理数据变得更加简洁和灵活。你可以使用stream api的distinct()方法去除数组中的重复元素。
import java.util.arrays; import java.util.stream.collectors; public class main { public static void main(string[] args) { int[] array = {1, 2, 3, 2, 1, 4, 5, 4}; int[] distinctarray = arrays.stream(array).distinct().toarray(); system.out.println(arrays.tostring(distinctarray)); // 输出 [1, 2, 3, 4, 5] } }
2. 使用hashset
hashset是一个不能包含重复元素的集合,你可以使用它来去除数组中的重复元素。需要注意的是,使用这种方法会改变原数组的顺序。
import java.util.arrays; import java.util.hashset; import java.util.set; public class main { public static void main(string[] args) { int[] array = {1, 2, 3, 2, 1, 4, 5, 4}; int[] distinctarray = new int[new hashset<>(arrays.aslist(array)).size()]; int i = 0; for (int num : array) { if (arrays.binarysearch(distinctarray, num) < 0) { distinctarray[i++] = num; } } system.out.println(arrays.tostring(distinctarray)); // 输出 [1, 2, 3, 4, 5] } }
3. 使用treeset
treeset是一个有序集合,它不能包含重复元素。与hashset相比,使用treeset会保持原数组的顺序。但需要注意的是,treeset的使用需要额外的空间来存储元素,因此它在内存使用上可能比hashset更耗费。
import java.util.arrays; import java.util.treeset; import java.util.set; public class main { public static void main(string[] args) { int[] array = {1, 2, 3, 2, 1, 4, 5, 4}; treeset<integer> set = new treeset<>(); for (int num : array) { set.add(num); } int[] distinctarray = new int[set.size()]; int i = 0; for (int num : set) { distinctarray[i++] = num; } system.out.println(arrays.tostring(distinctarray)); // 输出 [1, 2, 3, 4, 5] } }
以上就是java数组去重方法有哪些的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product