Java的随机数

来源:互联网 发布:迪杰斯特拉算法 简单 编辑:程序博客网 时间:2024/05/17 02:32

1.随机数

随机地生成的任意的一个数(理论上讲具有不可预知性).

Random类

用于生产一个伪随机数(通过相同的种子,产生的随机数是相同的)。
public Random():使用默认的种子(以当前系统时间作为种子)。
public Random(long seed):根据指定的种子。

[java] view plain copy
  1. import java.util.Random;  
  2.   
  3. public class RandomDemo {  
  4.     public static void main(String[] args) {  
  5.         Random random = new Random();  
  6.         System.out.println(random.nextBoolean());//boolean类型的随机数  
  7.         System.out.println(random.nextLong()); //long类型的随机数  
  8.         System.out.println(random.nextInt()); //int类型的随机数  
  9.         System.out.println(random.nextInt(100)); //0~100  包含0不包含100的随机数  
  10.     }  
  11. }  
ThreadLocalRandom

是Java7新增类,是Random类的子类,在多线程并发情况下,ThreadLocalRandom相对于Random可以减少多线程资源竞争,保证了线程的安全性。
因为构造器是默认访问权限,只能在Java.util包中创建对象,故,提供了一个方法ThreadLocalRandom.current()用于返回当前类对象.

[java] view plain copy
  1. import java.util.concurrent.ThreadLocalRandom;  
  2.   
  3. public class RandomDemo {  
  4.     public static void main(String[] args) {          
  5.         ThreadLocalRandom localRandom = ThreadLocalRandom.current();  
  6.         System.out.println(localRandom.nextInt(50100)); //50~100  包含50不包含100的随机数  
  7.     }  
  8. }  
UUID

通用惟一识别:Universally Unique Identifier; 在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。UUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成UUID.我们一般用来表示:随机的唯一的字符串.

[java] view plain copy
  1. import java.util.UUID;  
  2. public class RandomDemo {  
  3.     public static void main(String[] args) {  
  4.           
  5.         String uuid = UUID.randomUUID().toString();  
  6.         System.out.println(uuid); //结果:20b34958-00ba-4b6e-b51e-28a065e73254  
  7.     }  
  8. }  
原创粉丝点击