java 数组去重

java

浏览数:440

2019-1-13

AD:资源代下载服务

片段 1片段 2


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]