JAVA数组去重方法

JAVA数组去重方法记录JAVA中数组去重方法1利用Set的特性去重复 Setset=newHasSet(); for(intx=0;x<arr.length;x++){ set.add(arr[x]); }最后set里面的值就是arr数组去重后的所有元素,但是set中数据是无序的,会打乱原本的顺序。2如果想保留原本的顺序就使用有顺序,不重复特点的链表的哈希集合 LinkedHasSet<Object>temp=newLinkedHasSet<>()

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

记录JAVA中数组去重方法

1利用Set的特性去重复

	Set set = new HasSet();
	for (int x=0 ; x<arr.length ; x++){ 
   
		set.add(arr[x]);
	}

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

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

	LinkedHasSet<Object> temp = new LinkedHasSet<>();
	for(int x=0;x<arr.lenth;x++){ 
   
		temp.add(arr[x]);
	}

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

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

	List list = new ArrayList();
	for(int x=0;x<arr.length;x++){ 
   
		if(!list.contains(arr[x])){ 
   
			list.add(arr[x]);
		}
	} 

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

 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]);
        }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • awk数组统计

    awk数组统计处理以下文件内容,将域名取出并根据域名进行计数排序处理:(百度和sohu面试题)1http://www.etiantian.org/index.html2http://www.etiantian.org/1.html3http://post.etiantian.org/index.html4http://mp3.etiantian.org/index.html…

  • iOS 13越狱:越狱后如何安装AppSync和afc2越狱补丁

    iOS 13越狱:越狱后如何安装AppSync和afc2越狱补丁iOS13越狱:越狱后如何安装AppSync和afc2越狱补丁?本文件转载自:https://news.tongbu.com/98644.html文章概要:越狱后必须安装的补丁:AppSync和afc2。越狱后如何安装AppSync和afc2越狱补丁?越狱虽然成功了,但如果不安装Appsync和afc2这两个重要的补丁,就无法享受越狱的功能哦。请按照如下教程提示,分别安装着这2个重要补丁。越狱教程:《iOS13越狱教程:unc0ver5.2.0更新发布,支持iOS13.5..

  • 万物互联时代,警惕黑客“帮凶”

    万物互联时代,警惕黑客“帮凶”

  • js中构造函数和普通函数的区别_函数声明和函数定义

    js中构造函数和普通函数的区别_函数声明和函数定义1、构造函数也是一个普通函数,创建方式和普通函数一样,但构造函数习惯上首字母大写2、构造函数和普通函数的区别在于:调用方式不一样。作用也不一样(构造函数用来新建实例对象)3、调用方式不一样。     a.普通函数的调用方式:直接调用person();     b.构造函数的调用方式:需要使用new关键字来调用newPerson();4、构造函数的函数名与…

  • fwrite和fread函数的用法小结_fwrite和fread

    fwrite和fread函数的用法小结_fwrite和fread1.函数功能用来读写一个数据块。2.一般调用形式fread(buffer,size,count,fp);fwrite(buffer,size,count,fp);3.说明(1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。(2)size:要读写的字节数;(3)count:要

  • list数组遍历时能不能使用remove()方法,要注意什么

    list数组遍历时能不能使用remove()方法,要注意什么list数组遍历时能不能使用remove()方法,要注意什么

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号