Discuss / Java / 应该是对的

应该是对的

Topic source

缪哈桑

#1 Created at ... [Delete] [Delete and Lock User]

import java.util.*;

public class Main {

    public static void main(String[] args) {

        List<Message> received = List.of(

                new Message(1, "Hello!"),

                new Message(2, "发工资了吗?"),

                new Message(2, "发工资了吗?"),

                new Message(3, "去哪吃饭?"),

                new Message(3, "去哪吃饭?"),

                new Message(4, "Bye")

        );

        List<Message> displayMessages = process(received);

        for (Message message : displayMessages) {

            System.out.println(message.text);

        }

    }

    static List<Message> process(List<Message> received) {

        // TODO: 按sequence去除重复消息

        var mesSet = new TreeSet<Message>();

        for(Message mes : received){

            mesSet.add(mes);

        }

        return new ArrayList<Message>(mesSet);

    }

}

class Message implements Comparable{

    public final int sequence;

    public final String text;

    public Message(int sequence, String text) {

        this.sequence = sequence;

        this.text = text;

    }

    @Override

    public int compareTo(Object o) {

        if (o instanceof Message) {

            Message message = (Message) o;

            if (this.sequence==message.sequence) {

                return 0;

            }

            return this.sequence - (message.sequence);

        }

        IllegalArgumentException e = new IllegalArgumentException();

        throw e;

    }

}


  • 1

Reply