• JAVA如何实现数组去重功能
  • 发布于 1周前
  • 21 热度
    0 评论

前言

数组是我们JAVA开发中最为常用的一种数据格式,我们在实际开发过重中经常会遇到数组内容重复的问题,比如从其它数据源加载的数据有重复值,如果没有做去重处理,那数组中就会有重复的值出现,所以如何去除数组中的重复值是我们开发时必须考虑的问题之一。

数组去重代码如下:

uniq.java

import java.util.Arrays;
import java.util.ArrayList;
import java.util.List;
 
public class uniq {
    public static void main(String[] args){
        ArrayList<Obj> oList = new ArrayList<>(Arrays.asList(new Obj[]{
            new Obj("1:00"), new Obj("2:00"), new Obj("3:00"), 
            new Obj("1:00"), new Obj("2:00"), new Obj("3:00")
        })); // 测试数组,有重复值
        ArrayList<Obj> oUniq = new ArrayList<Obj>(); // 存储不重复的数组
         
        for(Obj o:oList){
            boolean exists = false;
 
            for(Obj e:oUniq){ // 循环已经存在的列表,你是不是想在个循环里面动oUniq数组?
                if(o.time.equals(e.time)){ // 判断是否相等
                    exists = true;
                    break;
                }
            }// oUniq循环结束,你现在可以动了!
             
            if(!exists){ // 不存在加入
                oUniq.add(o); // 修改oUniq数组
            }
        }
        System.out.println(oUniq); // 只输出 [1:00, 2:00, 3:00] 没有重复
    }
}
 
// 测试对象
class Obj {
    String time;
    Obj(String t){
        this.time = t;
    }
    public String toString(){
        return this.time;
    }
}
run.sh
[jesse@Jesse-iMac:~/project/test/java$] javac uniq.java && java uniq
[1:00, 2:00, 3:00]
总结:

以上就是我们基于JAVA语言实现的数组内容去重功能,这种去重主要是通过遍历循环原数组的值,然后在放入新数组前先判断要放入新数组的值是否已存在,如果已存在,则不再加入新数组,这样就达到了数组内容去重的功能了。


用户评论