在android 开发中我们有时候需要让一个进行中原本有序排列的数据进行乱序排列,最近的自己做的项目中遇到了这种需要,所以把方法记录下来。
第一种方法:我们可以利用Collections.sort()方法:
ArrayList<T> mList = new ArrayList<T>();
//
对mList进行初始化
/
进行乱序操作
Collections.sort(mList, new Comparator<T>() {
@Override
public int compare(T a, T b) {
return Math.random() > 0.5 ? 1 : -1;
}
});
第二种方法
for (int i =mList.size() - 1; i >= 0; i--) {
int index = random.nextInt(i + 1);
T buf = mList.get(index);
mList.get(index) = mList.get(i);
mList.get(i) = buf;
}