TreeSet
/**
* TreeSet集合对象
* 添加元素
* add()可以为集合添加元素,TreeSet集合属于Set集合的子类
* Set集合不允许有重复的元素存在,所以重复数据是不允许添加到Set集合中的。而add()方法的返回值可以确定添加操作是否成功完成
* public boolean add(E e)
* e:要添加到集合中的人意类型的数据
* 返回值:如果此set尚未包含指定元素,则返回true
* 提取集合中的数组
* java的集合对象可以调用toArray()方法将集合中的所有数据提取到一个新的数组中
* public<T>T[]toArray(T[]array)
* array:保存集合数据的数组
* 返回值:如果参数array指定的数组长度小于Set集合元素的数量,则返回新的可以容纳Set集合所有元素的数组,否则返回参数指定的数组对象
*
* 如果方法指定的数组参数可以容纳下Set集合中的所有元素,那么方法的返回值就是这个数组参数,他们用"=="判断结果为true,因为同一个数组对象的内存地址相等
* 如果数组参数长度大于Set集合,那么剩余数组元素都赋值为null,这时要注意肯发生的空指针异常
* 调用Size()方法确定Set集合的大小,然后创建同等大小的数组,再通过toArray()方法将集合的所有元素提取到该数组中,
* 更简便的方法是创建一个最小的数组作为方法的参数,这时toArray()方法会返回与参数数组类型相同的能容纳Set集合所有元素的新数组
* **/
import java.util.Random;
import java.util.TreeSet;
public class RandomSortArray不重复随机数组排序 {
/**
* @param args
*/
public static void main(String[] args) {
TreeSet<Integer> set = new TreeSet<Integer>();// 创建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];// 创建同等大小的数组
set.toArray(array);// 获取集合中的数组
System.out.println("生成的重复随机数组内容如下:");
for (int value : array) {// 遍历输出数组内容
System.out.print(value + " ");
}
}
}