package Message;
import java.util.Objects;
public class Message {
public final int sequence;
public final String text;
public Message(int sequence, String text) {
this.sequence = sequence;
this.text = text;
}
public int getSequence() {
return this.sequence;
public boolean equals(Object o) {
if(o instanceof Message) {
Message m=(Message) o;
return this.sequence==m.sequence && this.text.equals(m.text);
return false;
public int hashCode() {
return Objects.hash(this.sequence, this.text);
public String toString() {
return "Message[sequence: "+this.sequence+", text:"+this.text+"]\n";
import static tools.LogUtils.log;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class test {
public static void main(String[] args) {
List<Message> received = List.of(
new Message(1, "Hello!"),
new Message(2, "发工资了吗?"),
new Message(3, "去哪吃饭?"),
new Message(4, "Bye")
);
List<Message> displayMessages = process(received);
for (Message message : displayMessages) {
log.info(message.text);
static List<Message> process(List<Message> received) {
// TODO: 按sequence去除重复消息
List<Message> list=new ArrayList<>();
Set<Message> set = new HashSet<>();
for(Message m:received) {
if(!set.contains(m)) {
set.add(m);
list.add(m);
return list;
Sign in to make a reply
净净一隅
package Message;
import java.util.Objects;
public class Message {
public final int sequence;
public final String text;
public Message(int sequence, String text) {
this.sequence = sequence;
this.text = text;
}
public int getSequence() {
return this.sequence;
}
public boolean equals(Object o) {
if(o instanceof Message) {
Message m=(Message) o;
return this.sequence==m.sequence && this.text.equals(m.text);
}
return false;
}
public int hashCode() {
return Objects.hash(this.sequence, this.text);
}
public String toString() {
return "Message[sequence: "+this.sequence+", text:"+this.text+"]\n";
}
}
package Message;
import static tools.LogUtils.log;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
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")
);
List<Message> displayMessages = process(received);
for (Message message : displayMessages) {
log.info(message.text);
}
}
static List<Message> process(List<Message> received) {
// TODO: 按sequence去除重复消息
List<Message> list=new ArrayList<>();
Set<Message> set = new HashSet<>();
for(Message m:received) {
if(!set.contains(m)) {
set.add(m);
list.add(m);
}
}
return list;
}
}