gpt4 book ai didi

java - 以同样的方式对两个列表进行排序

转载 作者:行者123 更新时间:2023-11-30 02:16:13 24 4
gpt4 key购买 nike

好的,我有 2 个输入参数:

String[] Names = {"Martin", "Josef", "John", "Jessica", "Claire"};
int[] Age = {22, 19, 20, 17, 21};

我想要的输出是一个如下所示的列表:

String[] Names = {"Jessica", "Josef", "John", "Claire", "Martin"};
int[] Age = {17, 19, 20, 21, 22};

所以我做了一些研究,发现您可以使用数组列表和集合对年龄列表进行排序,但这没有任何用处,因为我还需要链接到它的名称。

我希望你们能帮我解决这个问题:)

最佳答案

理想的解决方案是创建一个包含两个字段 nameagePerson 类,从而使保持相关性变得更容易数据集中在一起并进行维护。

一旦用必要的字段、构造函数和 getter 构造了类,您就可以启动所需的任意多个对象,用必要的数据填充它并将其存储到数组或列表中。

类的例子:

public class Person {
private String name;
private int age;

@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}

public Person(String name, int age) {
this.name = name;
this.age = age;
}

public String getName() {
return name;
}

public int getAge() {
return age;
}
}

人员数组,尽管您也可以使用列表:

Person[] people = new Person[]{
new Person("Martin", 22),
new Person("Josef", 19),
new Person("John", 20),
new Person("Jessica", 17),
new Person("Claire", 21)
};

现在您可以按年龄排序并维护相关数据,如下所示:

// if you're using an array
Arrays.sort(people, Comparator.comparingInt(Person::getAge));

// if you're using a list
people.sort(Comparator.comparingInt(Person::getAge));

关于java - 以同样的方式对两个列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48326907/

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