Discuss / Java / 练习

练习

Topic source

王日天95

#1 Created at ... [Delete] [Delete and Lock User]
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;    }}

  • 1

Reply