Collections
一、总结
1.基于 JDK 1.8
二、shuffle()
集合中元素重新排序
public static void shuffle(List<?> list) {
if (r == null) {
r = new Random();
}
shuffle(list, r);
}
private static Random r;
public static void shuffle(List<?> list, Random rnd) {
int size = list.size();
// < 5 或者是 RandomAccess 的实例,ArrayList 实现 RandomAccess 接口
// 作为可随机访问的标识
// instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例
if (size < SHUFFLE_THRESHOLD || list instanceof RandomAccess) {
for (int i=size; i>1; i--)
// 将 i-1 位置的元素与随机数位置的元素调换位置
swap(list, i-1, rnd.nextInt(i));
} else {
Object arr[] = list.toArray();
// Shuffle array
for (int i=size; i>1; i--)
swap(arr, i-1, rnd.nextInt(i));
// Dump array back into list
ListIterator it = list.listIterator();
for (int i=0; i<arr.length; i++) {
it.next();
it.set(arr[i]);
}
}
}
public static void swap(List<?> list, int i, int j) {
final List l = list;
// 将i位置的元素取出放在j位置;同理
l.set(i, l.set(j, l.get(i)));
}
应用:
随机打乱数组中的内容
分享到:
相关推荐
commons-collections-20040616.jar, commons-collections-3.2-osgi.jar, commons-collections-3.2-sources.jar, commons-collections-3.2.1.jar, commons-collections-3.2.2-javadoc.jar, commons-collections-3.2.2...
《Apache Commons Collections 3.2.1:Java集合框架的强大扩展》 Apache Commons Collections是Apache软件基金会的一个项目,它提供了一系列强大的、用于处理Java集合框架的工具类和算法。在这个项目中,`commons-...
赠送jar包:commons-collections-3.2.2.jar; 赠送原API文档:commons-collections-3.2.2-javadoc.jar; 赠送源代码:commons-collections-3.2.2-sources.jar; 赠送Maven依赖信息文件:commons-collections-3.2.2....
赠送jar包:commons-collections4-4.1.jar; 赠送原API文档:commons-collections4-4.1-javadoc.jar; 赠送源代码:commons-collections4-4.1-sources.jar; 赠送Maven依赖信息文件:commons-collections4-4.1.pom;...
赠送jar包:commons-collections4-4.4.jar; 赠送原API文档:commons-collections4-4.4-javadoc.jar; 赠送源代码:commons-collections4-4.4-sources.jar; 赠送Maven依赖信息文件:commons-collections4-4.4.pom;...
赠送jar包:commons-collections4-4.4.jar; 赠送原API文档:commons-collections4-4.4-javadoc.jar; 赠送源代码:commons-collections4-4.4-sources.jar; 赠送Maven依赖信息文件:commons-collections4-4.4.pom;...
赠送jar包:commons-collections-3.2.1.jar; 赠送原API文档:commons-collections-3.2.1-javadoc.jar; 赠送源代码:commons-collections-3.2.1-sources.jar; 包含翻译后的API文档:commons-collections-3.2.1-...
赠送jar包:commons-collections-3.2.2.jar; 赠送原API文档:commons-collections-3.2.2-javadoc.jar; 赠送源代码:commons-collections-3.2.2-sources.jar; 赠送Maven依赖信息文件:commons-collections-3.2.2....
Apache Commons Collections是一个Java库,它提供了大量的集合框架增强功能,扩展了Java标准库中的集合类。这个库在Java开发中非常实用,因为它包含了各种高效、功能丰富的数据结构和算法,可以显著提高代码的效率和...
该文件里包含两个.jar包: collections-generic-4.01.jar和looks-2.1.4.jar, 引入collections-generic-4.01.jar: 右击工程--》Build path ——》Add External JAR-->选中collections-generic-4.01.jar --》OK 在源...
Apache Commons Collections是一个Java库,包含了丰富的集合操作工具和算法,为Java平台的开发提供了大量的实用类和接口。这个"commons-collections-3.2.2-"版本是该库的一个特定发行版,主要用于解决WebLogic服务器...
赠送jar包:commons-collections4-4.1.jar; 赠送原API文档:commons-collections4-4.1-javadoc.jar; 赠送源代码:commons-collections4-4.1-sources.jar; 赠送Maven依赖信息文件:commons-collections4-4.1.pom;...
《Apache Commons Collections 4.1在Java中处理Excel2007文件的解决方案》 Apache Commons Collections库是Java开发中的一个强大工具,它提供了一系列高效、实用的数据结构和算法。在处理Excel2007(.xlsx)文件时...
《Apache Commons Collections 3.2.2:Java开发的强大工具》 Apache Commons Collections,简称Collections,是Apache软件基金会提供的一款开源Java库,它为Java集合框架提供了大量的实用工具类和扩展功能。在Java...
Apache Commons Collections是一个强大的Java集合框架扩展库,它为Java的内置集合类提供了丰富的功能增强。这个"commons-collections4-4.2-bin"是Apache Commons Collections的第4版的第2次更新,是一个二进制分发包...
在Java编程中,`collections4`和`collections15`可能指的是Apache Commons Collections库的不同版本。这个库是Apache软件基金会提供的一个强大且实用的集合框架扩展,它为Java的内置集合类提供了更多的功能和优化。...
`commons-collections-3.2.2-bin.tar`是一个压缩包,它包含了Apache Commons Collections库的3.2.2版本。这个库是Java编程语言中一个非常重要的工具集,专门用于处理集合框架,如列表、映射、集合等。Apache Commons...
Apache Commons Collections是一个非常重要的Java库,它为Java的集合框架提供了大量的扩展和增强。这个压缩包文件包含了从1.0到3.2.1的所有版本,涵盖了从早期JDK到现代Java版本的广泛支持,这使得开发者可以在不同...
apache-common系列中的重要的成员:apache-common-collections。包中对Java中的集合类进行了一定的补充,定义了一些全新的集合,当然也是实现了Collection接口的,比如Bag,BidiMap。同时拥有新版本的原有集合,比如...