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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 标准正态分布的分布函数服从均匀分布_二项分布和均匀分布

    标准正态分布的分布函数服从均匀分布_二项分布和均匀分布三种由(0,1)均匀分布构造标准正态分布随机变量的方法:Box–Muller算法,中心极限定理和KindermanandMonahanmethod。

    2025年11月23日
    7
  • cpu流水线工作原理_嵌入式工作原理

    cpu流水线工作原理_嵌入式工作原理现在的CPU处理器一般都是超流水线工作,动不动就是10级以上流水线,超高主频,这两者之间有什么关系呢?今天就跟大家科普下CPU流水线的工作原理,以及他们之间的关系。说到流水线,很多人会想到富士康;说到富士康,很多人会想到张全蛋。作为富士康3号流水线资深质检员,下面就请张全蛋给大家科普下什么是流水线,大家鼓掌欢迎。MichealJack眼中的流水线大家好,我是张全蛋,英文名叫MichealJack,法文名叫霍雷呆-杰Q赖,大家也可以叫我查理。作为iPhone手机3号流水线的资.

    2022年8月20日
    8
  • pycharm断点属性设置介绍

    pycharm断点属性设置介绍主要内容 断点属性设置 生成红色断点后 鼠标悬停至红点 右键 1 enable 勾选表示该断点可以执行 2 suspend allthread 阻塞所有或至阻塞断点当前线程 3 condition 满足条件才断言 这里当满足 a 2 注意若写成 a 2 则无法判断

    2025年12月3日
    6
  • petalinux常用命令整理「建议收藏」

    petalinux常用命令整理「建议收藏」#sourcesettings.sh#sourcecomponents/yocto/source/aarch64/environment-setup-aarch64-xilinx-linux#sourcecomponents/yocto/source/aarch64/layers/core/oe-init-build-env#exportPATH=/home/work/pet…

    2025年10月31日
    4
  • 鸢尾花完整的python代码(鸢尾花分类)

    .逻辑回归逻辑回归(LogisticRegression)是用于处理因变量为分类变量的回归问题,常见的是二分类或二项分布问题,也可以处理多分类问题,它实际上是属于一种分类方法。概率p与因变量往往是非线性的,为了解决该类问题,我们引入了logit变换,使得logit(p)与自变量之间存在线性相关的关系,逻辑回归模型定义如下:1#Sigmoid曲线:2importmatplotlib.py…

    2022年4月15日
    334
  • redis——持久化方式RDB与AOF分析

    redis——持久化方式RDB与AOF分析

    2021年11月4日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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