首页 > 学院 > 开发设计 > 正文

获取各种随机数的代码工具类

2019-11-09 16:19:58
字体:
来源:转载
供稿:网友
package com.lyt.base.util;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Random;public class RandomUtil {/*** 生成一个n位的随机数字符串* * @param n* @return*/public static String getRandomNum(int length) {String str = "0123456789";Random random = new Random();StringBuffer sb = new StringBuffer();for (int i = 0; i < length; ++i) {int number = random.nextInt(9);// [1,9)sb.append(str.charAt(number+1));}return sb.toString();}/*** 生成一个n位的随机字符串* * @param length* @return*/public static String getRandomString(int length) {String str = "abcdefghijklmnopqrstuvwxyz0123456789";Random random = new Random();StringBuffer sb = new StringBuffer();for (int i = 0; i < length; ++i) {int number = random.nextInt(36);// [0,36)sb.append(str.charAt(number));}return sb.toString();}/*** 获取当前时间,年月日时* * @return*/public static String getDate() {String str = "";DateFormat df = new SimpleDateFormat("yyyyMMddHH");Date date = new Date();str = df.format(date);return str;}/*** 生成用户id,10位,纯数字* * @return*/public static String userId() {String userId = "";userId = getRandomNum(10);return userId;}/*** 生成订单号,13位,纯数字* * @return*/public static String orderId() {String orderId = "";String date = getDate();String rand = getRandomNum(13);orderId = date + rand;return orderId;}/*** 生成商品id,10位,纯数字* * @return*/public static String PRoId() {String userId = "";userId = getRandomNum(10);return userId;}/*** 随机取list数据  * @param list* @param n  取几条* @return*/@SuppressWarnings({ "rawtypes", "unused", "unchecked" })public static List getRandomList(List list, int n) {          Map map = new HashMap();          List listNew = new ArrayList();          if(list.size()<=n){              return list;          }else{              while(map.size()<n){                  int random = (int) (Math.random() * list.size());                  if (!map.containsKey(random)) {                      map.put(random, "");                      listNew.add(list.get(random));                  }              }              return listNew;          }      }/*** 取数组随机数* @param arr* @param n* @return*/@SuppressWarnings({ "unused", "unchecked" })public static Long[] createRandomArray(Long[] arr, int n) {          // TODO Auto-generated method stub          @SuppressWarnings("rawtypes")Map map = new HashMap();          Long[] arrNew = new Long[n];          if(arr.length<=n){              return arr;          }else{              int count = 0;//新数组下标计数              while(map.size()<n){                  int random = (int) (Math.random() * arr.length);                  if (!map.containsKey(random)) {                      map.put(random, "");                      arrNew[count++] = arr[random];                  }              }              return arrNew;          }      } }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表