获取随机打乱的ArrayList

将已知的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来理一下这个类的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值