java去除数组重复元素的四种方法是什么,java去除数组中的重复元素

java去除数组重复元素的四种方法是什么,java去除数组中的重复元素,java去除数组重复元素的四种方法

在本文中,我们分享四个java方法来删除数组中的重复元素。每种方法都通过示例代码非常详细地介绍给你,对你的学习或工作有一定的参考价值。请有需要的朋友参考。

方法1:

您需要一个数组来存储经过重复数据消除的元素,然后分两层循环,外层遍历原始数组。内容会逐个判断是否与后面的元素重复,然后提出并存储在一个新的数组中。方法System.arraycopy(复制的数组,开始下标,接收的新数组,开始下标,结束下标);可以直接复制数组。在这种情况下,我不必担心新数组的长度。只需声明一个与原数组长度相同的临时数组。只需记录重复数据删除后的元素数量,然后就可以在将临时阵列复制到新阵列之前,确定重复数据删除后的阵列长度。

包test pro . test;

公共类testDistinctArr {

公共静态void main(String[] args) {

String[] arr=新字符串[7];

arr[0]=' a ';

arr[1]=' a ';

arr[2]=' b ';

arr[3]=' c ';

arr[4]=' d ';

system . out . println(arr . tostring());

for (String s : arr) {

system . out . println(s);

}

system . out . println('==============');

object[]s=ifRepeat(arr);

对于(对象o : s) {

system . out . println(o);

}

}

/**

*从数组中删除重复的元素

*

* @param数组

* @返回

*/

//方法一:需要传入一个对象数组,然后返回去重后的数组。

公共静态对象[] ifRepeat(Object[] arr){

//用于记录删除重复后的数组长度,并将临时数组索引为下标。

int t=0;

//临时数组

Object[] tempArr=新对象[arr . length];

//遍历原始数组

for(int I=0;长度;i ){

//声明一个标志,每次都重置它

布尔isTrue=true

//内部循环逐个比较原始数组的元素

for(int j=I 1;jarr.lengthj ){

//如果发现重复的元素,则更改标志状态并结束当前的内部循环。

if(arr[i]==arr[j]){

isTrue=false

打破;

}

}

//确定标记是否已被更改。如果它没有被改变,就没有重复的元素。

if(isTrue){

//将原始数组的元素赋给没有元素的临时数组

tempArr[t]=arr[I];

//如果到这里证明当前元素没有重复,记录会增加。

t;

}

}

//声明需要返回的数组。这是经过重复数据消除的阵列。

Object[] newArr=新对象[t];

//使用arraycopy方法将刚刚去重的数组复制到新的数组中并返回。

System.arraycopy(tempArr,0,newArr,0,t);

return newArr

}

}

去效应:

方法二:

只需创建一个集合,然后遍历数组,将数组逐个放入集合中。只需在放入之前用contains()方法确定这个元素是否已经存在于集合中,然后用toArray把它变成一个数组。一切都搞定了。

公共静态对象[] ifRepeat2(Object[] arr){

//创建集合

list list=new ArrayList();

//遍历数组以存储集合中的元素

for(int I=0;iarr .长度;i ){

//如果集合中没有相同的元素,则将它们存储在集合中。

如果(!list.contains(arr[i])){

list . add(arr[I]);

}

}

//方法//toArray()返回包含集合中所有元素的Object类型的数组。

object[]new arr=list . to array();

return newArr

}

操作效果:

方法三:

元素过滤是利用集合集合的无序和不可重复的特性进行的。

公共静态对象[] ifRepeat3(Object[] arr){

//实例化集合

set set=new HashSet();

//遍历数组并存储在集合中。如果该元素已经存在,则不会重复存储。

for(int I=0;长度;i ) {

set . add(arr[I]);

}

//返回集合的数组形式

返回set . to array();

}

操作效果:

方法4:

链表哈希集:有序不重复。

公共静态set Object ifrepeat 4(Object[]arr){

SetObject马浩=new LinkedHashSetObject();

for(int I=0;长度;i ) {

haoma . add(arr[I]);

}

归还马浩;

}

操作效果:

这就是本文讲述的四种java去除数组重复元素的方法。有关java移除数组重复元素的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: