static List<Message> process(List<Message> received) {
// TODO: 按sequence去除重复消息
/* Set<Message> s = new TreeSet<Message>(new Comparator<Message>() {
public int compare(Message m1, Message m2){
return m1.sequence - m2.sequence;
}
}); */
Set<Message> s = new HashSet<>();
s.addAll(received);
return new ArrayList<Message>(s);
class Message {
public final int sequence;
public final String text;
public Message(int sequence, String text) {
this.sequence = sequence;
this.text = text;
public boolean equals(Object o){
if (o instanceof Message){
Message m = (Message) o;
return Objects.equals(m.sequence, this.sequence);
return false;
public int hashCode(){
return Objects.hash(sequence);
Sign in to make a reply
Andylbc
static List<Message> process(List<Message> received) {
// TODO: 按sequence去除重复消息
/* Set<Message> s = new TreeSet<Message>(new Comparator<Message>() {
public int compare(Message m1, Message m2){
return m1.sequence - m2.sequence;
}
}); */
Set<Message> s = new HashSet<>();
s.addAll(received);
return new ArrayList<Message>(s);
}
class Message {
public final int sequence;
public final String text;
public Message(int sequence, String text) {
this.sequence = sequence;
this.text = text;
}
public boolean equals(Object o){
if (o instanceof Message){
Message m = (Message) o;
return Objects.equals(m.sequence, this.sequence);
}
return false;
}
public int hashCode(){
return Objects.hash(sequence);
}
}