Discuss / Java / 终究还是使用了ADD,调不动Remove方法好无奈

终究还是使用了ADD,调不动Remove方法好无奈

Topic source

import java.util.ArrayList;

import java.util.List;

import java.util.Set;

import java.util.TreeSet;

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")

        );

        System.out.println(received.toString());

        List<Message> displayMessages = process(received);

        for (Message message : displayMessages) {

            System.out.println(message.text);

        }

    }

    static List<Message> process(List<Message> received) {

        // TODO: 按sequence去除重复消息

    Set<Integer> set1 = new TreeSet<>();

        List<Message> newArrays = new ArrayList<>();

        for (Message msg:received) {

        if (set1.add(msg.sequence)) {

        newArrays.add(msg);

        }else {

        continue;

        }        

        }

        return newArrays;

    }

}

class Message {

    public final int sequence;

    public final String text;

    public Message(int sequence, String text) {

        this.sequence = sequence;

        this.text = text;

    }  

}


  • 1

Reply