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

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 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统