gpt4 book ai didi

Java - 如何通过对象中的 String 字段最有效地对 SomeClass 对象数组进行排序?

转载 作者:行者123 更新时间:2023-12-02 06:40:12 27 4
gpt4 key购买 nike

我有一个类,它有一个名为 name 的字符串字段。我有一个 SomeClass[] 类型的数组,我想按名称的字符串顺序遍历这些 SomeClass 对象。

我很好奇最有效的方法是什么。我应该使用某种比较器吗?将它们全部放入 TreeMap 然后遍历它或类似的东西是否是个好主意?我确定我可以想出一个解决方案,但我也确定它的效率会很低。

感谢任何帮助。

最佳答案

你可以只Arrays.sort你的Comparable类,比如Arrays.sort(a)(见代码)

或者,如果您想使用集合框架

Arrays.asList(...)Collections.sort(..) 是关键。


如果SomeClass是这样的

public class SomeClass implements Comparable<SomeClass>{

public String val;

@Override
public int compareTo(SomeClass that) {
return this.val.compareTo(that.val);
}

@Override
public String toString() {
return this.val;
}
}

你可以这样排序

    SomeClass o = new SomeClass();
o.val = "z";
SomeClass t = new SomeClass();
t.val = "a";
SomeClass th = new SomeClass();
th.val = "m";
SomeClass[] a = new SomeClass[]{o, t, th};

//this
Arrays.sort(a);

//or this
List<SomeClass> l = Arrays.asList(a);
System.out.println(l);
Collections.sort(l);
System.out.println(l);

关于Java - 如何通过对象中的 String 字段最有效地对 SomeClass 对象数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9426087/

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