android-颠倒数组的顺序
我有一个对象数组 是否可以创建一个新数组作为此数组的副本,但顺序相反? 我在找这样的东西android-颠倒数组的顺序,android,arrays,reverse,Android,Arrays,Reverse,我有一个对象数组 是否可以创建一个新数组作为此数组的副本,但顺序相反? 我在找这样的东西 // my array ArrayList<Element> mElements = new ArrayList<Element>(); // new array ArrayList<Element> tempElements = mElements; tempElements.reverse(); // something to reverse the order o
// my array
ArrayList<Element> mElements = new ArrayList<Element>();
// new array
ArrayList<Element> tempElements = mElements;
tempElements.reverse(); // something to reverse the order of the array
//我的数组
ArrayList MELENTS=新的ArrayList();
//新阵列
ArrayList tempElements=元素;
tempElements.reverse();//要反转数组顺序的内容
您可以通过两个步骤完成此操作:
ArrayList<Element> tempElements = new ArrayList<Element>(mElements);
Collections.reverse(tempElements);
ArrayList tempElements=新的ArrayList(mElements);
集合。反向(临时元素);
简单的方法,无需实现任何功能
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));
}
ArrayList oldlist=new ArrayList();
ArrayList newList=新的ArrayList();
int size=oldlist.size()-1;
对于(int i=size;i>=0;i--){
newList.add(oldlist.get(i));
}
对于Kotlin上的Android,这可以通过Anko的lambda操作完成,如下所示:
val tempElements=ArrayList(mElements.size)
mElements.forEachReversedByIndex{tempElements.add(it)}
我将配置文件从升序改为降序
在科特林
// 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)
}
}
}
Kotlin
val reverseList: List<Int> = yourActualList.reversed();
val reverseList:List=yourActualList.reversed();
Yekes,谢谢你,特德。看起来我有一些java.util.*阅读要做。一个改进是创建
templements
,初始容量至少等于melents
的大小。这将避免在第二行添加元素时重新分配内存。@TedHopp感谢您的建议,将其纳入答案:)一个改进是创建newList
,初始容量至少等于oldList
的大小。这将避免在循环中添加元素时重新分配内部内存。
val reverseList: List<Int> = yourActualList.reversed();