综合练习3:给随机数组排序(默认升序排序)
随机数组就是在指定长度的数组中,用随机数字为每个元素赋值,这常用于需要不确定数值的环境,如拼图游戏需要随机数组来打乱图片排序。可是同时也存在问题,就是随机数的重复问题,这个问题也常常被忽略,请利用TreeSet集合来实现不重复的数列,并自动完成元素的排序,然后生成数组。效果如图所示。

方法一、使用for循环输入元素,再用迭代器+while循环语句输出元素

/*综合练习3:给随机数组排序(默认升序排序)
 * 随机数组就是在指定长度的数组中,用随机数字为每个元素赋值,
 * 这常用于需要不确定数值的环境,如拼图游戏需要随机数组来打乱图片排序。
 * 可是同时也存在问题,就是随机数的重复问题,这个问题也常常被忽略,
 * 请利用TreeSet集合来实现不重复的数列,并自动完成元素的排序,然后生成
 * 数组。效果如图所示。
 * */

package jhl;
import java.util.TreeSet;
import java.util.Iterator;
import java.util.Random;
public class Zhlx3 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		System.out.println("生成无重复元素且升序的随机数组如下:");
		TreeSet<Integer> set = new TreeSet<>();	//	创建TreeSet集合对象

		Random r = new Random();				//	创建随机数对象
		for(int i = 0;i < 10;i++) {
			set.add(r.nextInt(100));
		}
		
		Iterator<Integer> it = set.iterator();
		
		while(it.hasNext()) {
			System.out.print(it.next() + " ");
		}
								
	}

}
方法二、while语句添加元素,创建数组,将元素放置在数组中,foreach语句遍历输出元素
/*while添加元素*/

package jhl;
import java.util.TreeSet;
import java.util.Random;
public class Zhlx32 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		System.out.println("生成无重复元素且升序的随机数组如下:");
		Random r = new Random();		
		TreeSet<Integer> set = new TreeSet<>();
		
		//	使用while循环添加
		int count = 0;
		while(count < 10) {
			boolean succeed = set.add(r.nextInt(100));
			if(succeed) {
			count++;
			}
		}
		
		//	创建一维数组,放置集合中的内容
		int size = set.size();
		Integer[] array = new Integer[size];	//	初始化数组
		Integer[] add = set.toArray(array);		//	获取集合中的数组
		
		for(int value:array) {					//	foreach语句遍历数组array
			System.out.print(value + " ");
		}
				
	}

}
方法三、创建Object型集合,后续for输出,可以转换元素类型,toString()转换为String类型,foreach语句遍历输出
package jhl;
import java.util.Random;
import java.util.TreeSet;
public class Zhlx33 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		System.out.println("生成无重复元素且升序的随机数组如下:");
		Random r = new Random();
		TreeSet<Integer> set = new TreeSet<>();
		for(int i = 0;i < 10;i++){					//	添加元素
			set.add(r.nextInt(100));
		}

		//
		Object[] strArray = set.toArray();
		for(Object a:strArray){
			String str = a.toString();				//	转换元素类型为String
			System.out.print(str+" ");  //	获取对象的类型,输出对象的名称
		}		

	}

}