**static List<Message> process(List<Message> received) { //1.创建Set<String>,用来存储Message.text Set<String> set1 = new HashSet<>();
//2.创建Set<Message>,用来存储Message对象。并且必须实现Comparable接口 Set<Message> set2 = new TreeSet<>(new Comparator<Message>() { @Override public int compare(Message o1, Message o2) { return o1.text.compareTo(o2.text); } });
//3.利用Set遍历并add不重复的对象 //(Set.add(对象) 结果总是不对,暂时还是以String判断吧) for (Message s : received) { if (set1.add(s.text)) { set2.add(s); } }
//4.返回received received = new ArrayList<>();
received.addAll(set2); return received;**
**后面直接 **
set2.add(s); 不判断 又对了 晕
Sign in to make a reply
我很有素质
**static List<Message> process(List<Message> received) {
//1.创建Set<String>,用来存储Message.text
Set<String> set1 = new HashSet<>();
//2.创建Set<Message>,用来存储Message对象。并且必须实现Comparable接口
Set<Message> set2 = new TreeSet<>(new Comparator<Message>() {
@Override
public int compare(Message o1, Message o2) {
return o1.text.compareTo(o2.text);
}
});
//3.利用Set遍历并add不重复的对象
//(Set.add(对象) 结果总是不对,暂时还是以String判断吧)
for (Message s : received) {
if (set1.add(s.text)) {
set2.add(s);
}
}
//4.返回received
received = new ArrayList<>();
received.addAll(set2);
return received;**