java获取10个不重复随机数,且从小到大排序

今天去做了一套笔试题,遇到这么一道题,一般我们的步骤是定义一个数组,再获取随机数存入数组,再加上判断该数是否已存在,如存在就不放入,不存在就放入数组中,然后再冒泡排序。 这样下来代码量是不是就暴增了,而且容易出错,刚开始我也是这么想的,然而写到了一半,想到了一个简单的方法,利用TreeSet集合 TreeSet集合有个特点,值不能重复,且在存储时能对键进行自然排序,刚好是升序,是不是完美的解决了这道题。 直接上代码:

//获取不重复随机数
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;

public class Demo {
          
   
	public static void main(String[] args) {
          
   
		TreeSet t=new TreeSet();
		while(t.size()<10){
          
   
			int num=(int)(Math.random()*100);
			t.add(num);
		}
		for (Object object : t) {
          
   
			System.out.println(object);
		}
	}

}

这才多少代码量。 运行结果:

经验分享 程序员 微信小程序 职场和发展