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

深入解析Java数组去重的五种实用方法

2024/5/25 14:36:31发布16次查看
深入解析java数组去重的五种实用方法
在java中,处理数组是非常常见的操作。而数组去重是在实际开发中经常遇到的问题。本文将深入解析java数组去重的五种实用方法,并提供具体的代码示例。
一、使用hashset去重
hashset是java中的一种集合,它具有自动去重的功能。我们可以利用hashset的特性,将数组中的元素添加到hashset中,实现去重的效果。
import java.util.hashset;import java.util.arrays;public class arrayduplicateremoval { public static int[] removeduplicates(int[] array){ hashset<integer> set = new hashset<>(); for(int i=0;i<array.length;i++){ set.add(array[i]); } int[] result = new int[set.size()]; int index=0; for(integer num:set){ result[index++] = num; } return result; } public static void main(string[] args){ int[] array = {1, 2, 3, 4, 4, 5, 5, 6}; int[] result = removeduplicates(array); system.out.println(arrays.tostring(result)); }}
二、使用linkedhashset去重
linkedhashset是hashset的子类,除了具有去重功能之外,还可以保持插入顺序。如果需要保持原有顺序,并去除重复元素,可以使用linkedhashset。
import java.util.linkedhashset;import java.util.arrays;public class arrayduplicateremoval { public static int[] removeduplicates(int[] array){ linkedhashset<integer> set = new linkedhashset<>(); for(int i=0;i<array.length;i++){ set.add(array[i]); } int[] result = new int[set.size()]; int index=0; for(integer num:set){ result[index++] = num; } return result; } public static void main(string[] args){ int[] array = {1, 2, 3, 4, 4, 5, 5, 6}; int[] result = removeduplicates(array); system.out.println(arrays.tostring(result)); }}
三、使用treeset去重
treeset是一个有序的集合,它默认会对元素进行自然排序。利用treeset的去重特性,可以将数组中的元素添加到treeset中,再将treeset转换为数组,实现去重。
import java.util.treeset;import java.util.arrays;public class arrayduplicateremoval { public static int[] removeduplicates(int[] array){ treeset<integer> set = new treeset<>(); for(int i=0;i<array.length;i++){ set.add(array[i]); } int[] result = new int[set.size()]; int index=0; for(integer num:set){ result[index++] = num; } return result; } public static void main(string[] args){ int[] array = {1, 2, 3, 4, 4, 5, 5, 6}; int[] result = removeduplicates(array); system.out.println(arrays.tostring(result)); }}
四、使用stream api去重
stream api是java 8中引入的一种新的api,它提供了一种流式操作的方式。结合stream的distinct方法,可以方便地去重数组。
import java.util.arrays;import java.util.stream.intstream;public class arrayduplicateremoval { public static int[] removeduplicates(int[] array){ int[] result = intstream.of(array).distinct().toarray(); return result; } public static void main(string[] args){ int[] array = {1, 2, 3, 4, 4, 5, 5, 6}; int[] result = removeduplicates(array); system.out.println(arrays.tostring(result)); }}
五、使用双重循环去重
最后一种方法是使用双重循环遍历数组,将重复的元素标记并去掉。
import java.util.arrays;public class arrayduplicateremoval { public static int[] removeduplicates(int[] array){ int length = array.length; for(int i=0;i<length-1;i++){ if(array[i]!=-1){ for(int j=i+1;j<length;j++){ if(array[j]==array[i]){ array[j] = -1; // 标记为重复元素 } } } } int[] result = new int[length]; int index = 0; for(int i=0;i<length;i++){ if(array[i]!=-1){ result[index++] = array[i]; } } return arrays.copyof(result, index); } public static void main(string[] args){ int[] array = {1, 2, 3, 4, 4, 5, 5, 6}; int[] result = removeduplicates(array); system.out.println(arrays.tostring(result)); }}
通过以上的介绍,我们详细讲解了java数组去重的五种实用方法,并提供了具体的代码示例。根据实际情况和需求,可以选择适合的方法来解决数组去重的问题。希望本文对您在实际开发中有所帮助!
以上就是深入解析java数组去重的五种实用方法的详细内容。
该用户其它信息

VIP推荐

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