package com.itranswarp.learnjava;import java.util.*;/** * Learn Java from https://www.liaoxuefeng.com/ * * @author liaoxuefeng */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) { TreeSet<Message> removeRepeatedMessages = new TreeSet<>(received); return removeRepeatedMessages.stream().toList(); }}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) { return ((Message) o).text.compareTo(this.text); } return 0; }}
Compare方法没有题目要求的按sequence去重,而且TO DO应该不是让你重写message的compare方法
Sign in to make a reply
AY@吖