Java打乱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提供方便。如果有疑问可以留言交流。
相关推荐
-
JAVA ArrayList详细介绍(示例)
第1部分 ArrayList介绍ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口.ArrayList 继承了AbstractList,实现了List.它是一个数组队列,提供了相关的添加.删除.修改.遍历等功能.ArrayList 实现了RandmoAccess接口,即提供了随机访问功能.Randmo
-
java的arraylist排序示例(arraylist用法)
写了一个java数组排序示例,这里分享给大家共同学习 复制代码 代码如下: package com.yonyou.test;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Test { public static void main(String[] args) { Student zlj = new St
-
Java中ArrayList类的使用方法
Java中ArrayList类的用法 1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小 2.如何使用ArrayList 最简单的例子: ArrayList List = new ArrayList(); for( int i=0;i <10;i++ ) //给数组增加10个Int元素 List.Add(i); //..
-
2种Java删除ArrayList中的重复元素的方法
这篇文章将给出两种从ArrayList中删除重复元素的方法,分别是使用HashSet和LinkedHashSet. ArrayList是Java中最常用的集合类型之一.它允许灵活添加多个null元素,重复的元素,并保持元素的插入顺序.在编码时我们经常会遇到那种必须从已建成的ArrayList中删除重复元素的要求. 方法1:使用HashSet删除ArrayList中重复的元素 在该方法中,我们使用HashSet来删除重复的元素.如你所知,HashSet不允许有重复的元素.我们使用HashSet的这
-
Java ArrayList 数组之间相互转换
做研发的朋友都知道,在项目开发中经常会碰到list与数组类型之间的相互转换,本文通过一个简单的例子给大家讲解具有转换过程. Java代码 package test.test1; import java.util.ArrayList; import java.util.List; public class Test { /** * @param args */ public static void main(String[] args) { List list=new ArrayList(); l
-
java中ArrayList 、LinkList的区别分析
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构. 2.对于随机访问get和set,ArrayList优于LinkedList,因为ArrayList可以随机定位,而LinkedList要移动指针一步一步的移动到节点处.(参考数组与链表来思考) 3.对于新增和删除操作add和remove,LinedList比较占优势,只需要对指针进行修改即可,而ArrayList要移动数据来填补被删除的对象的空间. ArrayList和LinkedL
-
java教程之二个arraylist排序的示例分享
示例1 复制代码 代码如下: package com.yonyou.test;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Test { public static void main(String[] args) { Student zlj = new Student("丁晓宇", 21);
-
JAVA LinkedList和ArrayList的使用及性能分析
第1部分 List概括List的框架图List 是一个接口,它继承于Collection的接口.它代表着有序的队列.AbstractList 是一个抽象类,它继承于AbstractCollection.AbstractList实现List接口中除size().get(int location)之外的函数.AbstractSequentialList 是一个抽象类,它继承于AbstractList.AbstractSequentialList 实现了"链表中,根据index索引值操作链表的全部函数
-
Java中Vector与ArrayList的区别详解
首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList.Vector和LinkedList.List用于存放多个元素,能够维护元素的次序,并且允许元素的重复.3个具体实现类的相关区别如下:1.ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问.数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存储空间中.当从ArrayList的中间位置插入或者删除元素时,需要对数组
-
Java打乱ArrayList生成一个随机序列列表
前言 在做试卷的时候,需要将一个句子中的单词.一个单词中的字符.选择题中的答题项打乱生成一个随机的序列,下面我将其抽象成工具类,方便大家以后复用. 示例代码 public static <V> boolean isEmpty(ArrayList<V> sourceList) { return (sourceList == null || sourceList.size() == 0); } /** * 打乱ArrayList * * */ public static <V&g
-
Java中ArrayList和LinkedList之间的区别_动力节点Java学院整理
一.ArrayList ArrayList是一个可以处理变长数组的类型,这里不局限于"数"组,ArrayList是一个泛型类,可以存放任意类型的对象.顾名思义,ArrayList是一个数组列表,因此其内部是使用一个数组来存放对象的,因为Object是一切类型的父类,因而ArrayList内部是有一个Object类型的数组类存放对象.ArrayList类常用的方法有add().clear().get().indexOf().remove().sort().toArray().toStri
-
分析Java中ArrayList与LinkedList列表结构的源码
一.ArrayList源码分析(JDK7) ArrayList内部维护了一个动态的Object数组,ArrayList的动态增删就是对这个对组的动态的增加和删除. 1.ArrayList构造以及初始化 ArrayList实例变量 //ArrayList默认容量 private static final int DEFAULT_CAPACITY = 10; //默认空的Object数组, 用于定义空的ArrayList private static final Object[] EMPTY_ELE
-
如何在Java中实现一个散列表
目录 前言: 优化1 优化2 优化3 如何实现 总结 前言: 假设现在有一篇很长的文档,如果希望统计文档中每个单词在文档中出现了多少次,应该怎么做呢? 很简单! 我们可以建一个HashMap,以String类型为Key,Int类型为Value: 遍历文档中的每个单词 word ,找到键值对中key为 word 的项,并对相关的value进行自增操作. 如果该key= word 的项在 HashMap中不存在,我们就插入一个(word,1)的项表示新增. 这样每组键值对表示的就是某个单词对应的数量
-
java随机生成一个名字和对应拼音的方法
本文实例讲述了java随机生成一个名字和对应拼音的方法.分享给大家供大家参考.具体如下: package com.cn.wangk.util.name; import java.util.Random; import com.cn.wangk.util.StrTools; public class ChineseName { String[] sName = new String[95]; String[] Name = new String[79]; private String Names;
-
详解Python利用random生成一个列表内的随机数
首先,需要导入random模块: import random 随机取1-33之间的1个随机数,可能重复: random.choice(range(1,34)) print得到一系列随机数,执行一次得到一个随机数: print(random.choice(range(1,34))) 随机取1-33之间的6个随机数,可能重复: random.choices(range(1,34),k=6,weights=range(1,34)) 其权重值表示该数或该范围内的数输出概率大,输出结果为列表 随机取1-3
-
Python 生成一个从0到n个数字的列表4种方法小结
我就废话不多说了,直接上代码吧! 第一种 def test1(): l = [] for i in range(1000): l = l + [i] 第二种(append ) def test2(): l = [] for i in range(1000): l.append(i) 第三种(列表推导式) def test3(): l = [i for i in range(1000)] 第四种(list ) def test4(): l = list(range(1000)) 以上这篇Pytho
-
如何实现Java的ArrayList经典实体类
ArrayList是Java集合框架中一个经典的实现类.他比起常用的数组而言,明显的优点在于,可以随意的添加和删除元素而不需考虑数组的大小.处于练手的目的,实现一个简单的ArrayList,并且把实现的过程在此记录. 实现的ArrayList主要的功能如下: 默认构造器和一个参数的有参构造器 add方法 get方法 indexOf方法 contains方法 size方法 isEmpty方法 remove方法 sort方法 这个简单的ArrayList类 取名为SimpleArrayList,全部
-
详解Java中ArrayList类
ArratList 类:存放同一数据类型容器(只能为引用数据类型,因实际其内部存放的是地址) 1.导入其所在包 import java.util.ArratList 2.创建对象 ArrayList<E> 对象名=new ArrayList<>(); E:泛型数据类型,指定对象名中存放指定类型的数据,不可省略,需为引用数据类型 3.使用 即对象名.方法(参数可能有可能无) 注意:当打印对象名时,非地址,而是一个如同python中列表一般,存放的是各个数据[元素1,元素2],若无数据
-
java之TreeUtils生成一切对象树形结构案例
项目中经常会遇到各种需要以树形结构展示的功能,比较常见的,如菜单树,分类树,部门树等等,如果为每种类型都遍历递归生成树形结构返回给前端,显得有些冗余且麻烦,并且其实逻辑都是一致的,只是遍历的对象不同而已,故其实可以通过面向接口思维,来实现这种通用工具类的实现. TreeNode用来表示每个树节点的抽象,即需要生成树的对象需要实现此接口. /** * 树节点父类,所有需要使用{@linkplain TreeUtils}工具类形成树形结构等操作的节点都需要实现该接口 * * @param <T>
随机推荐
- SqlServer异常处理常用步骤
- Vue 2.0中生命周期与钩子函数的一些理解
- Java拆装箱深度剖析
- 详解iOS的Core Animation框架中的CATransform3D图形变换
- JS对URL字符串进行编码/解码分析
- python常用知识梳理(必看篇)
- 通过Python来使用七牛云存储的方法详解
- C#实现Dev Grid拖拽移动行的方法
- android studio 3.0 gradle 打包脚本配置详解
- 深入解析Java的设计模式编程中建造者模式的运用
- php使用cookie保存登录用户名的方法
- JQuery判断子iframe何时加载完成解决方案
- jquery 为a标签绑定click事件示例代码
- jQuery动态加载css文件实现方法
- xheditor与validate插件冲突的解决方案
- C#制作简易的屏保
- C语言中字符串常用函数strcat与strcpy的用法介绍
- C#遍历DataSet控件实例总结
- 20个常用Python运维库和模块
- python中int与str互转方法