java删除数组中重复元素的方法

  • 方法一:for双循环
  • 方法二:利用HashMap,储存元素

方法一:for双循环

1.声明int类型index,该数即可为不重复元素下标,还可统计数组中不重复元素的个数
2.第一层循环,遍历数组,取出每个元素
3.第二层循环,对第一层的元素进行判断是否重复,如果重复结束本次循环,否侧将该元素移动到赋值到相应下标数组
4.新建数组,长度为index,并将原数组的前index个元素赋值给新数组

public static void main(String[] args) {int[] array=new int[]{9,5,2,7,2,5,3,2,4};//准备新的数组,接收数据int[] newarray=new int[array.length];int index=0;for (int i=0;i<array.length;i++){for (int j=0;j<array.length;j++){if (i!=j){if (array[i]==array[j]){//存在重复元素,结束本次循环break;}}if (j==array.length-1){//遍历结束,且没有重复元素newarray[index]=array[i];index++;}}}for (int i=0;i<index;i++){System.out.print(newarray[i]+"  ");}}
结果:9  7    3  4

方法二:利用HashMap,储存元素

首先我们需要知道HashMap是什么
HashMap是一个散列表,存储的内容是键值对映射(key–value)。
HashMap是无序的,不会记录插入的顺序
HashMap的Key和Value类型可以相同也可以不相同;如
HashMap<String,Integer> map=new HashMap<>();

因此实现逻辑如下

1.创建以Integer为key,Boolean为value的HashMap;
2.遍历数组,并判断HashMap中是否存在该元素,不存在将该以该元素为key,true为value存储进HashMap,如果存在,就将该key的value赋值为false。
3.将Hash Map中value为true的元素取出并赋值给新数组。

代码如下

public static void main(String[] args) {int[] array=new int[]{9,5,2,7,5,2,3,2,4};HashMap<Integer,Boolean> hashMap=new HashMap<Integer,Boolean>();for (int i:array) {if (!hashMap.containsKey(i)){//判断Hash表中是否存在该元素,不存在侧保存hashMap.put(i, true);}else {//Hash Map中存在该元素,表明该元素重复,侧将value赋值为falsehashMap.put(i, false);}}//统计个数int count=0;for (boolean flag: hashMap.values()) {if (flag){count+=1;}}//创建新数组int[] newarray=new int[count];int index=0;for (int number: hashMap.keySet()//遍历HashMap,将value为true的元素取出,赋值给新数组) {if (hashMap.get(number)){//将不重复的值赋值给新数组newarray[index]=number;index++;}}//遍历输出for (int i:newarray) {System.out.print(i+"  ");}}

java删除数组中重复元素的方法相关推荐

  1. java删除数组中重复元素的几种方法

    Java操控数组,删除数组中所有的重复元素,使其数组元素全部唯一,有以下几种方法: 1,使用set(最好想到),set本身就是不重复的集合: package Array_test;import jav ...

  2. java删除数组中重复元素

    id="BAIDU_DUP_fp_iframe" src="https://pos.baidu.com/wh/o.htm?ltr="> > src= ...

  3. c\c++语言删除数组中重复元素

    c\c++语言删除数组中重复元素 如题:num[]={1,2,3,3,4,5,6} 输出为:123456 下为原代码: #include "stdafx.h" #include & ...

  4. JS中去除数组中重复元素的方法

    JS中去除数组中重复元素的方法 第一种方法:使用数组中的splice方法 splice():删除元素,并向数组添加新元素,并返回被删除的元素 function f1(){var _arr=[8,5,0 ...

  5. js判断数组中重复元素并找出_javascript查找数组中重复元素的方法

    这篇文章主要介绍了JS查找数组中重复元素的方法,结合具体实例形式对比分析了javascript针对数组的遍历.判断.排序等相关操作技巧,需要的朋友可以参考下 本文实例讲述了JS查找数组中重复元素的方法 ...

  6. jq 数组不重复_jquery删除数组中重复元素

    话不多说,下面就跟着小编来看下利用jquery实现删除数组中重复元素的具体思路吧 首先定义如下数组: var arr=[0,2,3,5,6,9,2]; 我们可以看到数组中存在重复元素'2'; 最后通过 ...

  7. JS JavaScript中去除数组中重复元素的方法

    JS JavaScript中去除数组中重复元素的方法 感觉比较好理解的3种方法,总结一下,大家共同学习 方法一: Array.prototype.method1 = function(){ var a ...

  8. c语言删除数组中的最小值,C语言中删除数组中某个元素的方法

    C语言中删除数组中某个元素的方法 发布时间:2020-06-17 14:22:39 来源:亿速云 阅读:1964 作者:鸽子 C语言实现删除数组中某个元素 大家知道C语言实现删除数组中某个元素方法吗? ...

  9. 删除排序数组中重复元素的方法

    文章目录 1.删除重复元素,所有元素只保留一次 2.重复元素保留不超过2次 在上一篇文章中讨论了关于如何删除排序链表中重复元素的方法.那么如果底层数据结构是数组又将如何处理呢? 1.删除重复元素,所有 ...

最新文章

  1. Linux 内核中断体系 初探
  2. ups容量计算和配置方法_干货 | ups的空开、电缆及电池的配置计算
  3. B04_NumPy从已有的数组创建数组(numpy.asarray,numpy.frombuffer,numpy.fromiter)
  4. CC++——库头文件及其作用
  5. 在Kotlin中使用Gradle构建缓存
  6. Java基础---“方法”题目练习
  7. mysql getnum函数_Mysql中实现提取字符串中的数字的自定义函数分享
  8. 图像检索:FCTH(Fuzzy Color and Texture Histogram)算法
  9. Java 初学记录之一 快速输入
  10. 流过的时光... 想到了曾经的我某个情节我笑了...
  11. 对文件、字符串和byte数组进行MD5加密
  12. okHttp3自用封装
  13. 【数字信号去噪】基于matlab小波软阈值+硬阈值+改进阈值数字信号去噪【含Matlab源码 1025期】
  14. c 语言与试验系统,Turbo C/C++软件学习下载
  15. python新年快乐代码_新年快乐! python实现绚烂的烟花绽放效果
  16. Mac用户如何修改 tmux 的指令前缀Ctrl+b为Ctrl+a
  17. 网络文件系统——上(samba,NFS,实现网络共享文件)
  18. 【Unity】Jay 开发日志(一)——人物的移动、死亡与平台跳跃
  19. 计算机内存卡插哪里,电脑内存卡在哪个位置
  20. 新的开始,fighting

热门文章

  1. 阿里druid报错java.lang.IllegalArgumentException: illegal maxActive 2
  2. 腾讯架构师理解的并发编程基石——Thread类的工作原理
  3. 计算机思维是计算机科学家独有的思维方式,什么是计算机思维计算机思维的分析(2)...
  4. MySQL优化之慢日志查询
  5. 2023年全国最新二级建造师精选真题及答案28
  6. 网页前端培训笔记(HTML标签)
  7. 开启@yahoo.cn邮箱POP和SMTP的方法
  8. 小学生python游戏编程arcade----烟花粒子
  9. java 签名 ecdsa_Java数字签名——ECDSA算法
  10. kubernete容器总结