前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JAVA数组去重方法

JAVA数组去重方法

作者头像
全栈程序员站长
发布2022-09-07 15:46:50
2K0
发布2022-09-07 15:46:50
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

记录JAVA中数组去重方法

1利用Set的特性去重复

代码语言:javascript
复制
	Set set = new HasSet();
	for (int x=0 ; x<arr.length ; x++){ 
   
		set.add(arr[x]);
	}

最后set里面的值就是arr数组去重后的所有元素,但是set中数据是无序的,会打乱原本的顺序。

2如果想保留原本的顺序就使用有顺序,不重复特点的链表的哈希集合

代码语言:javascript
复制
	LinkedHasSet<Object> temp = new LinkedHasSet<>();
	for(int x=0;x<arr.lenth;x++){ 
   
		temp.add(arr[x]);
	}

最后temp中的结果就是保留原有顺序去除了重复的原数组数据

3可以创建一个list集合,然后遍历数组中的元素放一个集合中是否已存在集合中,利用contains()方法判断该元素是否已经存在即可

代码语言:javascript
复制
	List list = new ArrayList();
	for(int x=0;x<arr.length;x++){ 
   
		if(!list.contains(arr[x])){ 
   
			list.add(arr[x]);
		}
	} 

4用两层循环,使每一个元素与其他元素比较,找出是否重复,同时设置一个标志记录是否重复,如果重复就不放入list中(纯逻辑做法,过于笨重,数据量很大时循环会非常吃力,运行时间会很长,属于笨方法,建议用于锻炼循环逻辑,不用于实际项目中。)

代码语言:javascript
复制
 int[] temp = { 
   1,2,4,4,5,5,6,7,8};
        int[] Arr = new int[temp.length];
        int count=0;

        for(int x=0;x<temp.length;x++) { 
   
            boolean isOne = true;
            for (int y=x+1;y<temp.length;y++){ 
   
                if (temp[x]==temp[y]){ 
   
                    isOne=false;
                    break;
                }
            }
            if(isOne){ 
   
                Arr[x]=temp[x];
            }
            System.out.println(Arr[x]);
        }

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148444.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 记录JAVA中数组去重方法
    • 1利用Set的特性去重复
      • 2如果想保留原本的顺序就使用有顺序,不重复特点的链表的哈希集合
        • 3可以创建一个list集合,然后遍历数组中的元素放一个集合中是否已存在集合中,利用contains()方法判断该元素是否已经存在即可
          • 4用两层循环,使每一个元素与其他元素比较,找出是否重复,同时设置一个标志记录是否重复,如果重复就不放入list中(纯逻辑做法,过于笨重,数据量很大时循环会非常吃力,运行时间会很长,属于笨方法,建议用于锻炼循环逻辑,不用于实际项目中。)
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档