哈哈哈123457 2017-06-14 03:46 采纳率: 86%
浏览 3360
已采纳

java 数组如何去除重复元素

java 数组如何去除重复元素。。。。。。。。。。。。。。。。。。

  • 写回答

6条回答 默认 最新

  • 北宫清云 2017-06-14 05:51
    关注

    也是自己写的,纯数组去重处理:
    /*

    • 去除数组中的重复元素
      */
      public class RemoveRepeated {

      public static int[] delete(int[] arr,int index){
      int[] newArr=new int[arr.length-1];
      for(int i=0;i if(i>=index)
      newArr[i]=arr[i+1];

      else
      newArr[i]=arr[i];
      }
      arr=newArr;
      return arr;
      }
      //保留在第一次出现的位置
      public static int[] removeRepeated1(int[] arr){
      for(int i=0;i<arr.length;i++){
      for(int j=i+1;j<arr.length;j++){
      if(arr[i]==arr[j]){
      arr=delete(arr,j);
      j--;
      }
      }
      }
      return arr;
      }

      //保留在最后一次出现的位置
      public static int[] removeRepeated2(int[] arr){
      for(int i=0;i<arr.length;i++){
      for(int j=i+1;j<arr.length;j++){
      if(arr[i]==arr[j]){
      arr=delete(arr,i);
      j--;
      }

          }
      
      }
      return arr;
      

      }
      //全部去除
      public static void removeRepeated3(int[] arr){

      int temp=0;
      for(int i=0;i<arr.length;i++){
          for(int j=0;j<arr.length;j++){
              if(arr[i]==arr[j]&&i!=j)
              {
                  temp=arr[i];
              }
      
          }
          if(arr[i]!=temp){
              System.out.print(arr[i]+"\t");
          }
      
      }
      

      }

      public static void loop(int[] arr){

      for(int i=0;i<arr.length;i++){
          System.out.print(arr[i]+"\t");
      }
      System.out.println();
      

      }
      public static void loopOld(int[] arr){

      for(int i=0;i<arr.length;i++){
          System.out.print(arr[i]+"\t");
      }
      System.out.println();
      

      }

      public static void main(String[] args) {
      int[] arr={2,2,2,4,10,2,3,4};
      System.out.print("老数组为: ");
      loopOld(arr);

      System.out.print("去重的数组为(保留第一次出现的位置):   ");
      loop(removeRepeated1(arr));
      
      System.out.print("去重的数组为(保留最后一次出现的位置):");
      loop(removeRepeated2(arr));
      
      System.out.print("去重的数组为(全部去除):                            ");
      removeRepeated3(arr);
      

      }

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?
  • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
  • ¥15 texstudio的问题,
  • ¥15 spaceclaim模型变灰色