《Random 随机数》
Random类
Random类专门用于生成一个伪随机数的类,其产生的随机数是根据种子和顺序决定
的;ThreadLocalRandom类是Java 7新增的一个类,它是Random的增强版。在并发
访问的环境下,呆证系统具有更好的线程安全性。
构造器 说明
Random 创建一个新的随机数生成器
Random(long seed) 使用单个long种子创建一个新的随机数生成器
为了更好的了解Random,这里有个很好的例子:
package test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
public class TestOne {
public static void main(String[] args) {
List<Boss> listbs = new ArrayList<Boss>();
// Random 生成的数字并不是真正随机,而是伪随机
Random random = new Random();
// 生成16个人物,并随机生成金额
for (int i = 0; i < 16; i++) {
Boss bs = new Boss();
bs.setId(170101 + i);
String name = "";
if (i + 1 < 10) {
name = "人物0" + (i + 1);
} else {
name = "人物" + (i + 1);
}
bs.setName(name);
// 注意这个随机范围,能取到999999,比赋值的少1
int money = random.nextInt(1000000) ;
bs.setMoney(money);
// 把老闆添加到list中
listbs.add(bs);
}
// 对List进行排序
Collections.sort(listbs);
// 使用迭代器遍历输出List
Iterator<Boss> iterator = listbs.iterator();
while (iterator.hasNext()) {
Boss One = iterator.next();
System.out.println("ID:" + One.getId() + ",贵宾"
+ One.getName() + ",金額:" + One.getMoney());
}
}
}
//Comparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。
class Boss implements Comparable<Boss> {
private int id;//号码
private String name;
private int money;
@Override
public int compareTo(Boss o) {
if (this.money != o.money) {
return o.money - this.money;// 从大到小:o‐this 金额高的先排序;+ 符合代表金额小的先排序
} else {
return this.name.compareTo(o.name);// 从小到大 :this‐o 金额相同,小id的先排列;+ 符合表示金额相同大id的先排序
//return this.id - o.id;
}
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
}
执行效果如下: