我有一组对象。
是否可以创建一个新数组,该数组是此数组的副本,但顺序相反? 我在找这样的东西。
// my array
ArrayList<Element> mElements = new ArrayList<Element>();
// new array
ArrayList<Element> tempElements = mElements;
tempElements.reverse(); // something to reverse the order of the array
答案 0 :(得分:213)
您可以分两步完成此操作:
ArrayList<Element> tempElements = new ArrayList<Element>(mElements);
Collections.reverse(tempElements);
答案 1 :(得分:0)
简单的方法,没有实现任何东西。
ArrayList<YourObject> oldlist = new ArrayList<YourObject>();
ArrayList<YourObject> newList = new ArrayList<YourObject>();
int size = oldlist.size()-1;
for(int i=size;i>=0;i--){
newList.add(oldlist.get(i));
}
答案 2 :(得分:0)
对于Kotlin上的Android,这可以通过Anko的forEachReversedByIndex{}
lambda操作完成,如下所示:
val tempElements = ArrayList<Element>(mElements.size)
mElements.forEachReversedByIndex{tempElements.add(it)}
答案 3 :(得分:0)
我将个人资料从升序反转为降序
在科特林
// A comparator to compare points of Profile
class ProfileComparator {
companion object : Comparator<Profile?> {
override fun compare(o1: Profile?, o2: Profile?): Int {
if (o1 == null || o2 == null) {
return 0;
}
return o2.points.compareTo(o1.points)
}
}
}
然后
var profilesList = profiles.sortedWith(ProfileComparator)
答案 4 :(得分:0)