import java.util.*;// 发送的信息保存在 List 当中,但是输出的时候经过一个 Set 处理,过滤掉重复的信息,再输出,注意排序需要按照原来的顺序实现,实现 compare 方法public class Test { 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") ); Set<Message> displayMessages = process(received); for (Message message : displayMessages) { System.out.println(message.text); } } static Set<Message> process(List<Message> received) { Set<Message> set = new TreeSet<>(new Comparator<Message>() { @Override public int compare(Message m1, Message m2) { return m1.sequence - m2.sequence; } }); for(Message m : received){ set.add(m); } return set; }}class Message { public final int sequence; public final String text; public Message(int sequence, String text) { this.sequence = sequence; this.text = text; }}
王日天95