有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在Java中实现Arraylist中的二进制搜索过程

我不知道如何在Java的Arraylist中实现二进制搜索过程

有两个arraylist显示机场名称和两个机场名称之间的路线

下面是airportName和Route类的定义

public class AirportName{
    private String airportName;
}

public class Route{
    private String takeOffPoint;
    private String landingPoint;
}

机场名称是Arraylist中(JFK)等机场名称的缩写 路线名称定义为路线对象,包括Arraylist中的起飞点和降落点 (JFK-TLV)

因为每个arraylist中有很多机场名称和路线,其大小超过30000,所以我必须使用二进制搜索来实现代码优化

我已经在不使用二进制搜索的情况下完成了这个过程

我如何通过二进制搜索来实现

下面是我的代码片段

ArrayList<AirportName> airportNames = ShowProcess.getAirports();
ArrayList<Route> routeNamesList = ShowProcess.getAirportRoutes();

航空公司名称

Scanner sc = new Scanner(System.in);
    System.out.print("Enter AirportName : ");
    String airportName = sc.nextLine(); 

    boolean checkAirportNameValid = false;

    for(AirportName airport : airportNames) {
        if(airport.getAirportName().equals(airportName)) {
            checkAirportNameValid = true;
        }
    }

路线名称

public static ArrayList<String> searchProcess(String airportName, ArrayList<Route> routeNamesList) {
        ArrayList<String> destinationNames = new ArrayList<String>();
        for(Route route : routeNamesList) {
            if(route.getTakeOffPoint().equals(airportName)) {
                destinationNames.add(route.getLandingPoint());
            }
        }

        return destinationNames;
}

共 (0) 个答案