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