Discuss / Java / 练习:

练习:

Topic source

ypx0410

#1 Created at ... [Delete] [Delete and Lock User]
static List<Message> process(List<Message> received) {
        // TODO: 按sequence去除重复消息
        Set<Message> messageSet = new HashSet<>();
	for(Message msg:received) 
	{
	    messageSet.add(msg);
	}
		
	return new ArrayList<Message>(messageSet);
    }
public class Message {
	public final int sequence;
    public final String text;
    public Message(int sequence, String text) {
        this.sequence = sequence;
        this.text = text;
    }
    
    @Override
    public boolean equals(Object o) 
    {
    	if(o instanceof Message) 
    	{
    		Message msg = (Message)o;
    		//按sequence去除重复消息
    		return this.sequence == msg.sequence;
    	}
    	return false;
    }
    
    @Override
    public int hashCode() 
    {
    	return Objects.hash(this.sequence);
    }

  • 1

Reply