繁体   English   中英

使用Comparator搜索LinkedList的实现

[英]Search in a implementation of LinkedList with Comparator

我有这个界面:

class CustomLinkedList<T> {
    public void append(T dado);
    public void addFirst(T dado);
    public T search(Comparator<T> cmp);
    public void printObjects();
}

我需要使用比较器在链接列表中进行搜索,但是比较器具有带有2个参数的compare(obj1,obj2)方法。 这是比较器的示例:

public class SearchByEmail implements Comparator<Student> {

    public SearchByEmail(String email) {
        // TODO Auto-generated constructor stub
    }

    @Override
    public int compare(Student o1, Student o2) {
        // TODO Auto-generated method stub
        return 0;
    }

}

有人知道如何使用比较器实现搜索方法吗?

一个可怕的例子:

public T search(Comparator<T> cmp) {
    Node<T> current = first;

    do {
        if(cmp.compare(current.getElement(), null) == 0){
            return current.getElement();
        }

        current = current.getNext();

    } while (current != null);

    return null;
}

和SearchByEmail:

public class SearchByEmail implements Comparator<Student> {
    private String email;

    public SearchByEmail(String email) {
        this.email = email;
    }

    @Override
    public int compare(Student o1, Student o2) {
        if(o1.getEmail().equals(email)) return 0;
        return 1;
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM