//第一种方式:最开始想到的是利用Set集合的不可重复性进行元素过滤
 public static Object[] oneClear(Object[] arr){
  Set set = new HashSet();
  for(int i=0;i<arr.length;i++){
    set.add(arr[i]);
   }
  return set.toArray();
 }

//第二种方式:要想保持原数组的顺序就使用有顺序、不重复特点的链表的哈希集合
 public static Object[] twoClear(Object[] arr){
  LinkedHashSet<Object> temp = new LinkedHashSet<>();
  for(int i=0;i<arr.length;i++){
     temp.add(arr[i]);
   }
  return temp.toArray();
 }

//第三种方式:创建一个list集合,然后遍历数组将元素放入集合,再用contains()方法判断一个集合中是否已存在该元素即可
 public static Object[] threeClear(Object[] arr){
  List list = new ArrayList();
  for(int i=0;i<arr.length;i++){
   if(!list.contains(arr[i])){
    list.add(arr[i]);
   }
  }
  return list.toArray();
 }

//第四种方式:两层循环遍历原数组,然后逐个判断是否和之后的元素重复,同时设立一个标记,用来分辨是否重复,根据标记将不重复的元素存入新数组
 public static Object[] fourClear(Object[] arr){
 int t=0;

   //临时数组
  Object[] xinArr=new Object[arr.length];
  
  for(int i=0;i<arr.length;i++){
   //声明标记,是否重复
   boolean isRepeat = true;
   for(int j=i+1;j<arr.length;j++){
    //如果有重复元素,将标记置为false
    if(arr[i]==arr[j]){
     isRepeat = false;
     break;
    }
   }
   //标记为true表示没有重复元素
   if(isRepeat){
    xinArr[t] = arr[i];
    t++;
   }
  }
  //去重后数组
  Object[] newArr = new Object[t];
  System.arraycopy(xinArr, 0, newArr, 0, t);
  return newArr;
 }

 
public static void main(String[] args) {
  Object[] arrs={1,2,5,2,45,6,23,6,3,4,3,6,5,1};
  System.out.println("one:");
  printArray(oneClear(arrs));
  System.out.println("two:");
  printArray(twoClear(arrs));
  System.out.println("three:");
  printArray(threeClear(arrs));
  System.out.println("four:");
  printArray(fourClear(arrs));
 }
public static void printArray(Object[] arr){
  for(Object object:arr){
   System.out.print(object+" ");
  }
  System.out.println("");
 结果:

Java数组去重的方法的更多相关文章

  1. (PASS)JAVA数组去重 三种方法 (不用集合)

    第一种方法(只学到数组的看): 定义一个新的数组长度和旧数组的长度一样,存储除去重复数据的旧数组的数据和0, package demo01; import java.sql.Array; import ...

  2. java数组去重

    java数组去重 1.创建新数组,用于保存比较结果 2.设定随机数组最大最小值 3.开始去重 4.计算去重所需时间 package org.zheng.collection; import java. ...

  3. (网页)java数组去重总结(转)

    转自CSDN: 1.背景 根据不同的业务逻辑,经常会遇到数组中存在多个重复元素的场合,总结了下数组的排序,留个记录. 2.实现方法   总结了四种方法,接下来进行展示 1.方法一 //数组去重方法一 ...

  4. Javascript中的数组去重-indexof方法

    在Javascript中,有时我们会用到数组去重.我在这里给大家介绍一下本人认为最简单实用的一种方法-indexOf()去重. var arr = [1,1,1,2,2,2,3,3,4,5,6,2,1 ...

  5. js数组去重的方法(转)

    JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...

  6. 前端html数组去重的方法

    数组去重 用到的知识点: 1:indexOf() 该方法是返回数组中元素第一次出现的索引值: 如果有,则正常返回索引值: 如果检索的内容不存在于数组中,则返回-1 2:for循环 练习:数组去重 // ...

  7. JS实现数组去重的方法(6种)

    方法一: 双层循环,外层循环元素,内层循环时比较值 如果有相同的值则跳过,不相同则push进数组 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Arra ...

  8. JAVA数组的基本方法

    数组的基本方法 数组可以存放多个数据,多个数据类型要统一数组格式: 格式一:常用写法 数组类型[] 数组名称 = new 数据类型[数组长度]; 格式二:蛋疼写法 数组类型[] 数组名称; 数组名称 ...

  9. JS实现数组去重的方法

    1.使用ES6的Set进行去重 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...

随机推荐

  1. [运维] 如何访问虚拟机上的 Tomcat ?

    环境: 虚拟机: VMware 15 pro    操作系统  Linux  CentOS 7 64 物理机: Windows 7 事先准备: 1: 下载 Tomcat  的压缩包  apache-t ...

  2. python实现队列(queue)

    队列队列是一种先进先出的数据结构,主要操作包括入队,出队.入队的元素加入到对尾,从队头取出出队的元素.这里用列表简单模拟队列,其实现如下: queue()is_empty()size()enqueue ...

  3. Python中神秘的-5到256

    注:本文不区分作为编程语言的Python和作为语言实现的Python.后者均默认为CPython. 了解他人对Python源代码的掌握情况,我喜欢问这样一个问题 请问,在Python中,256和257 ...

  4. javaweb使用button的onclick属性访问servlet

    1.定义一个servlet: 如我定义了一个名称为Choose_class.java的servlet 2.定义一个button <input type="button"  v ...

  5. 前端面试:js数据类型

    js数据类型是js中的基础知识点,也是前端面试中一定会被考察的内容.本文旨在知识的梳理和总结,希望读者通过阅读本文,能够对这一块知识有更清晰的认识.文中如果出现错误,请在评论区指出,谢谢. js数据类 ...

  6. python 的参数总结

    一.形参和实参 函数参数的作用是传递数据给函数使用 在使用的过程中,参数有两种形式:形式参数和实际参数 形参: 定义函数的参数 实参: 调用函数时的参数 根据实际参数类型不同,将实际参数传递给形参的方 ...

  7. java 多线程小记

    /*java里面实现多线程一般有两种方式 * 1,继承Thread类,实现run方法 * 2,实现Runnable接口,实现run方法 * start方法可以新建一个线程,创建多线程必须调用此方法 * ...

  8. tensorflow简介、目录

    目前工作为nlp相关的分类及数据治理,之前也使用tensorflow写过一些简单分类的代码,感受到深度学习确实用处较大,想更加系统和全面的学习下tensorflow的相关知识,于是我默默的打开了b站: ...

  9. C++11通过拷贝构造器拷贝const字段(待解决)

    问题梗概如标题所述. 在今天实现Token类的时候,遇到的问题. 我希望将Token类设定为immutable属性的,这样实现的方式是将这个类内的所有字段均设置为const型,同时每个字段均为publ ...

  10. RF之变量的共享使用与python测试库-5

    RF申明变量: 首先我们要创建Variables表 *** Settings *** ${LoginUrl}      http://cloud.innovpowerf.com/Account/Log ...