gpt4 book ai didi

java - 更改一个数组列表项相对于另一个数组列表项的顺序

转载 作者:行者123 更新时间:2023-12-01 17:41:09 25 4
gpt4 key购买 nike

我有 2 个数组列表

 ArrayList<String> passengerNames= new ArrayList<String>();//stores passenger names
ArrayList<String> seatNumber= new ArrayList<String>();//stores the seat passenger booked 1 seat=1passenger
passengerNames.add("Ram");
passengerNames.add("Shyam");
passengerNames.add("CPS");
passengerNames.add("John");
passengerNames.add("Steve");

seatNumber.add(1);
seatNumber.add(84);
seatNumber.add(19);
seatNumber.add(99);
seatNumber.add(78);

因此,passengerNames 数组将是[拉姆、夏姆、CPS、约翰、史蒂夫]和 SeatNumber 数组将是[1、84、19、99、78]我想按升序对 SeatNumber 数组进行排序,但我想用它来更改 PassengerNames 列表,就像 SeatNumber 按升序排列时一样[1,19,78,84,99]PassengerNames 数组应该像这样排序[拉姆、CPS、史蒂夫、夏姆、乔恩]

最佳答案

我建议将您的数据封装在一个新的 Passenger 对象中,并创建一个 Passenger 类型的 ArrayList - 这应该保持整洁和灵活。

public class Passenger {
private String name;
private int seatNumber;

public Passenger(String name, int seatNumber) {
this.name = name;
this.seatNumber = seatNumber;
}
}

...以及创建 Passenger ArrayList

List<Passenger> passengers = new ArrayList<Passenger>(); // build Passenger ArrayList
passengers.add(new Passenger("Ram", 1)); // create new Passenger
passengers.add(new Passenger("Shyam", 84)); // etc...

关于按升序对列表进行排序,一种简洁的方法是在 Passenger 类中实现 Comparable,并在 compareTo(乘客 p) 方法。一旦根据您的喜好定义了该排序,就可以通过Collections.sort(passengers);

调用排序

关于java - 更改一个数组列表项相对于另一个数组列表项的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61056707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com