综合练习3:给随机数组排序(默认升序)(1、Random对象nextInt方法取随机数;2、集合三种输出方法(1.迭代器+while;2.toArray转数组+for;3.Obj+toArray))

文章提供了三种Java方法使用TreeSet集合生成不重复且已排序的随机数组。首先,通过for循环添加随机数到TreeSet避免重复,然后输出;其次,使用while循环添加元素,创建数组并遍历输出;最后,创建Object型集合,转换元素类型后输出。
摘要由CSDN通过智能技术生成

综合练习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+" ");  //	获取对象的类型,输出对象的名称
		}		

	}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值