Как реализовать поиск в веб-приложении?

177
26 июля 2018, 00:50

Всем привет! Практикуюсь в разработке веб-приложения, где нужно осуществить сортировку по номеру и названию, а так же поиск по номеру. Если с сортировкой проблем нету, то вот с поиском возникли проблемы. А именно, я не знаю, как правильно ее реализовать, в нете нашел советы с использованием binarуSearch, но у меня не вышло. Но если возможно использовать binarySearch, то что передать в качестве key?. Посоветуйте, что то, буду благодарен за помощь)

Участок кода, где выполняется сортировка и поиск:

String sort = request.getParameter("sort");
        List<Flight> flight = db.findFlightsByAircompany(aircompany);
        if ("name".equals(sort)) {
            Collections.sort(flight, new Comparators.CompareByName());
        } else if ("number".equals(sort)) {
            Collections.sort(flight, new Comparators.CompareByNumber());
        }
        String search = request.getParameter("search");
        if ("number".equals(search)){
            Collections.sort(flight, new Comparators.CompareByNumber());
            Collections.binarySearch(flight, f.getNumber(), new Comparators.CompareByNumber()); //error
        }

Класс Flight

public class Flight implements Serializable {

    private static final long serialVersionUID = 6517095603673325631L;

    private int id;
    private String name;
    private String startPoint;
    private String endPoint;
    private Integer number;
    private int departureTime;
    private int aircompanyId;
    public void setEndPoint(String endPoint) {
        this.endPoint = endPoint;
    }
    public String getEndPoint() {
        return endPoint;
    }
    public void setStartPoint(String startPoint) {
        this.startPoint = startPoint;
    }
    public String getStartPoint() {
        return startPoint;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setAircompanyId(int aircompanyId) {
        this.aircompanyId = aircompanyId;
    }
    public int getAircompanyId() {
        return aircompanyId;
    }
    public void setNumber(Integer number) {
        this.number = number;
    }
    public Integer getNumber() {
        return number;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public int getDepartureTime() {
        return departureTime;
    }
    public void setDepartureTime(int departureTime) {
        this.departureTime = departureTime;
    }
}
READ ALSO
Логирование в разные файлы

Логирование в разные файлы

Есть такой properties файл

213
Перенос textView из одного LinearLayout в другой

Перенос textView из одного LinearLayout в другой

У меня есть два LinearLayout в которых есть несколько textView, первое поле имеет определённый размерЕсть ли возможность по заполнению первого поля,...

188
Запуск/остановка на конкретную дату

Запуск/остановка на конкретную дату

День добрыйВозникла необходимость создания планировщика заданий

196
Mockito тестирование

Mockito тестирование

Тестирую метод 1В методе 1 есть статический вызов метода 2 на объекте другого класса

177