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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • foreach 遍历map_怎么遍历map集合

    foreach 遍历map_怎么遍历map集合一、原生jsforEach()和map()遍历共同点:1.都是循环遍历数组中的每一项。2.forEach()和map()里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input。3.匿名函数中的this都是指Window。4.只能遍历数组。1.forEach()没有返回值。…

    2022年9月21日
    2
  • android 参数 attrs.xml,android – 定义自定义attrs

    android 参数 attrs.xml,android – 定义自定义attrs传统的方法充满了样板代码和笨拙的资源处理。这就是我制作Spyglass框架的原因。为了演示它是如何工作的,这里有一个示例,展示如何创建一个显示字符串标题的自定义视图。第1步:创建自定义视图类。publicclassCustomViewextendsFrameLayout{privateTextViewtitleView;publicCustomView(Contextcont…

    2022年8月31日
    3
  • IDEA GridLayout

    IDEA GridLayoutIDEAGridLayout用xml就直接加就好详见https://blog.csdn.net/weixin_39251617/article/details/79711668但是用Java代码添加就比较麻烦代码:xml&lt;?xmlversion="1.0"encoding="utf-8"?&gt;&lt;RelativeLayout…

    2022年6月12日
    39
  • 获取activexobject对象失败_js获取对象

    获取activexobject对象失败_js获取对象js

    2022年10月14日
    4
  • 以太坊挖矿回报率_eth挖矿难度曲线

    以太坊挖矿回报率_eth挖矿难度曲线随着时间的推移,全网算力越来越大,挖矿难度越来越高,以太坊挖矿一天收益多少?那么怎么才能提高挖矿收益呢?挖矿的最基本的物理条件就是得有一台运行稳定稳定的矿机,这个不在今天的讨论范围之内。有了一台硬件条件过硬的矿机之后,只要做好一下两点,你就会比别人轻松高出3-5%的收益:第一点:挖矿软件的选择。如果你不想为软件打工的话,一定要选择原版,一定要选择原版、一定要选择原版,重要的事情说三遍。网上的界面版诸如长沙矿工、圣骑士、数字矿工、矿工队长、超级矿工…其实都是在claymore的原版基础上加壳而成,再

    2022年10月15日
    4
  • 检查网站有没有被挂马_网站在线挂马检测工具

    检查网站有没有被挂马_网站在线挂马检测工具首先,我们来看看网站被挂马的危害性。网站被挂马后,一方面是系统资源,流量带宽资源的巨大损失,另一方面也成为了传播网页木马的“傀儡帮凶”,严重影响到网站的公众信誉度。很多网页木马都是利益驱动,偷盗各类帐号密码,如电子银行帐户和密码、游戏帐号和密码、邮箱帐户和密码、qq/MSN帐号和密码等;另外,使得客户端被安装恶意插件,强迫浏览黑客指定的网站,或者被利用攻击某个站点等。  我们知道了网站被挂马

    2022年9月27日
    5

发表回复

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

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