用TreeSet生成不重复自动排序随机数组

随机数的重复问题,这个问题常常被忽略,本文利用TreeSet集合实现不重复的数列,并自动完成元素的排序后然后生成数组。


TreeSet集合属于Set集合的子类,Set集合不允许有重复的元素存在,所以重复数据是不允许添加到Set集合中的;

而add()的返回值可以确定添加操作是否成功完成,该方法的声明如下:public boolean add(E e)


代码如下所示:

package com.chapter.three.one.cn;

import java.util.ArrayList;
import java.util.Random;
import java.util.TreeSet;

public class RandomSortArray {
    
    /**
     * @param args
     */
    public static void main(String[] args) {
        TreeSet set = new TreeSet();// 创建TreeSet集合对象
        Random ran = new Random();// 创建随机数对象
        int count = 0;// 定义随机数计数器
        while (count < 10) {// 循环生成随机数
            boolean succeed = set.add(ran.nextInt(100));// 为集合添加数字
            if (succeed)// 累加成功添加到集合中数字的数量
                count++;
        }
        int size = set.size();// 获取集合大小
        Integer[] array = new Integer[size];// 创建同等大小的数组
        Integer[] ddd = set.toArray(array);// 获取集合中的数组
        System.out.println("生成的重复随机数组内容如下:");
        for (int value : array) {// 遍历输出数组内容
            System.out.print(value + "   ");
        }
    }
}


输出:(随机的,不一样,我大致列取5次输出)

第一次:

生成的重复随机数组内容如下:
16   26   34   39   42   52   70   73   86   89   


第二次:

生成的重复随机数组内容如下:
5   11   16   26   31   43   58   78   86   89   


第三次:

生成的重复随机数组内容如下:
0   18   29   34   44   46   55   57   77   84   


第四次:

生成的重复随机数组内容如下:
9   17   23   27   47   62   68   73   86   99   


第五次:

生成的重复随机数组内容如下:
12   14   39   43   48   68   69   80   86   95   




你可能感兴趣的:(JAVA知识点小便签)