首页 > 代码库 > 泛型数组随机排列工具类
泛型数组随机排列工具类
前言:最近开发一款简易游戏,要将一个数组中的内容随机排列。考虑到以后可重用性,所以自己写了一款“泛型数组随机排列工具类”,现在分享给大家,希望能给大家带来启发。如果有好的方法类,请发给笔者邮箱,大家互相学习,感激不尽。
?源码:
- import java.lang.reflect.Array;
- import java.util.Random;
- /**
- * 泛型数组随机排列工具类。
- *
- * 要求:使用类类型。
- *
- * 示例:
- *
- * public static void main(String[] args) {
- * Integer[]is1 = {1,2,3,4,5,6};
- * is1= ArrayRandomPermutation.random(Integer.class,is1);
- * for(inti=0;i<is1.length-1;i++){
- * System.out.print(is1[i]+",");
- * }System.out.print(is1[is1.length-1]);//避免最后一个值带“,”。
- * }
- *
- * @author fzb
- * 2014-07-14
- */
- publicfinalclass ArrayRandomPermutation {
- publicstatic <T> T[] random(Class<T> type, T[] array) {
- Random rd = new Random();
- @SuppressWarnings("unchecked")
- T[] temp = (T[])Array.newInstance(type, array.length);
- int num;
- boolean[] bool =newboolean[array.length];
- for (int i = 0; i < array.length; i++) {
- do {
- num = rd.nextInt(array.length);
- } while (bool[num]);
- bool[num] = true;
- temp[i] = array[num];
- }
- return temp;
- }
- }
如有好的建议,可留言或发至笔者邮箱:fzb_xxzy@163.com
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。