Java打乱ArrayList生成一个随机序列列表

 更新时间:2016年08月23日 09:15:23   投稿:daisy  
有时候会需要将一个ArrayList或者数组中的数字打乱,方便后续使用,比如随机出题、答案选项打乱、连线题打乱、抽奖号码打乱等等,把我自己写的一段代码贴出来分享给大家。

前言

在做试卷的时候,需要将一个句子中的单词、一个单词中的字符、选择题中的答题项打乱生成一个随机的序列,下面我将其抽象成工具类,方便大家以后复用。

示例代码

public static <V> boolean isEmpty(ArrayList<V> sourceList) {
 return (sourceList == null || sourceList.size() == 0);
}

/**
 * 打乱ArrayList
 * 
 * */
public static <V> ArrayList<V> randomList(ArrayList<V> sourceList){
 if (isEmpty(sourceList)) {
  return sourceList;
 }

 ArrayList<V> randomList = new ArrayList<V>( sourceList.size( ) );
 do{
  int randomIndex = Math.abs( new Random( ).nextInt( sourceList.size() ) );
  randomList.add( sourceList.remove( randomIndex ) );
 }while( sourceList.size( ) > 0 );

 return randomList;
}

总结

以上就是Java打乱ArrayList生成一个随机序列列表的全部内容,希望对大家以后使用Java提供方便。如果有疑问可以留言交流。

相关文章

  • SpringBoot和Swagger结合提高API开发效率

    SpringBoot和Swagger结合提高API开发效率

    这篇文章主要介绍了SpringBoot和Swagger结合提高API开发效率的相关资料,需要的朋友可以参考下
    2017-09-09
  • Java代码实现Map和Object互转及Map和Json互转

    Java代码实现Map和Object互转及Map和Json互转

    这篇文章主要介绍了Java代码实现map和Object互转及Map和json互转的相关资料,需要的朋友可以参考下
    2016-05-05
  • MyBatis Plus整合Redis实现分布式二级缓存的问题

    MyBatis Plus整合Redis实现分布式二级缓存的问题

    Mybatis内置的二级缓存在分布式环境下存在分布式问题,无法使用,但是我们可以整合Redis来实现分布式的二级缓存,这篇文章给大家介绍MyBatis Plus整合Redis实现分布式二级缓存,感兴趣的朋友跟随小编一起看看吧
    2023-11-11
  • springboot使用定时器@Scheduled不管用的解决

    springboot使用定时器@Scheduled不管用的解决

    这篇文章主要介绍了springboot使用定时器@Scheduled不管用的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java执行shell命令的实现

    Java执行shell命令的实现

    本文主要介绍了Java执行shell命令的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • springboot做代理分发服务+代理鉴权的实现过程

    springboot做代理分发服务+代理鉴权的实现过程

    这篇文章主要介绍了springboot做代理分发服务+代理鉴权的实现过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • springboot中请求地址转发的两种方案

    springboot中请求地址转发的两种方案

    在开发过程中,我们经常需要将请求从一个服务转发到另一个服务,以实现不同服务之间的协作,本文主要介绍了springboot中请求地址转发的两种方案,感兴趣的可以了解一下
    2023-11-11
  • Java变态跳台阶实现思路和代码

    Java变态跳台阶实现思路和代码

    今天小编就为大家分享一篇关于Java变态跳台阶实现思路和代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 实例详解SpringMVC入门使用

    实例详解SpringMVC入门使用

    大家好,本篇文章主要讲的是实例详解SpringMVC入门使用,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Java Map.entry案例详解

    Java Map.entry案例详解

    这篇文章主要介绍了Java Map.entry案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08

最新评论