在本文中,我们分享四个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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。