您的位置:首页 > 其它

获取随机打乱的ArrayList

2016-04-10 08:53 295 查看
将已知的ArrayList放入以下方法中,这个ArrayList中的数据就会被随机打乱。

关键代码:

Collections.shuffle(list);


下面是我写的验证代码:

private void test(){
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
list.add(7);
list.add(8);
list.add(9);
logList(list);
Collections.shuffle(list);
logList(list);
}

private void logList(ArrayList<Integer> list){
for (int i : list){
Log.e("test", "" + i);
}
Log.e("test", "-----------");
}

最后打log显示结果:

打乱前:

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 1

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 2

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 3

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 4

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 5

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 6

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 7

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 8

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 9

打乱后:

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 1

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 8

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 5

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 9

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 3

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 4

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 7

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 6

04-09 20:49:32.672 7619-7619/uding.testlogic E/test: 2

实现了打乱List中内容排列的功能。

今天又遇到了需要用比较器来排序ArrayList的需求,发现又用到了Collections。粗略了解了一下这个类。它是一个有各种有关集合操作的静态方法的一个类,类似于一个工具类。所以,以后如果遇到集合的排序都可以找这个类试试。

具体使用可以看android api了。有时间我会写个blog来理一下这个类的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: