假设我有数组列表 A
并比较 A
的 2 个对象我做a.getDistanceFromPlayer() < b.getDistanceFromPlayer()
.
我现在想要列表 B
这将包含所有 A
的对象,但排序在第一个对象最接近玩家的位置,最后一个对象最远。
最快的方法是什么?
谢谢
最佳答案
让 A 实现 Comparable,然后像这样定义方法 compareTo(Object other):
public int compareTo(Object other) {
if( this.getDistanceFromPlayer() < other.getDistanceFromPlayer() ) {
return -1;
} else if( this.getDistanceFromPlayer() > other.getDistanceFromPlayer()) {
return 1;
}
return 0;
}
现在您可以在对象列表上调用 Collections.sort()
关于java - 在 1 次迭代中从未排序的数组列表生成排序的数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13594208/