gpt4 book ai didi

java - 排序包含字符串和整数的数组列表

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

如果我有一个如下所示的ArrayList:

["a 100", "b 32", "t 54", "u 1"](数字和字母在数组列表的每个单元格中用空格分隔)。

如何按数字对它进行排序,使每个数字与其对应的字母保持一致?

最佳答案

这看起来您正在尝试使用字符串实现面向对象的编程。幸运的是,Java 已经做到了这一点。

因此,改为执行以下操作:

public class MyClass implements Comparable<MyClass> {
private final String aString; //could be char perhaps..
private final Integer anInteger;

public MyClass(final String aString, final Integer anInteger) {
this.aString = aString;
this.anInteger = anInteger;
}

public String getAString() { return aString; }
public Integer getAnInteger() { return anInteger; }

public String toString() { return anInteger + " " + aString }

//comparison by number
public int compareTo(final MyClass other) {
return anInteger.compareTo(other.anInteger);
}
}

然后,你可以像这样使用它:

final List<MyClass> myClasses = new ArrayList<>();
myClasses.add(new MyClass("a", 100));
myClasses.add(new MyClass("b", 32));
myClasses.add(new MyClass("t", 54));
myClasses.add(new MyClass("u", 1));

Collections.sort(myClasses);

关于java - 排序包含字符串和整数的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36668483/

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