Discuss / Java / 实现comparable接口进行Set去重

实现comparable接口进行Set去重

Topic source

给Message实现一个comparable接口,可以直接用Set去重

//...
    static List<Message> process(List<Message> received) {
    	Set<Message> mes = new TreeSet<>(received);
        return new ArrayList<Message>(mes);
    }
//...

class Message implements Comparable<Object>{
    public final int sequence;
//    ...
	@Override
	public int compareTo(Object o) {
		Message m = (Message) o;
		if (this.sequence==m.sequence) {
			return 0;
		}
		return this.sequence>m.sequence? 1: -1;
	}
}

  • 1

Reply