1. [代码]返回的List是从startLongValue开始needCount个随机long型数据
01 | /**返回的long型的最大值是startLongValue+count-1 |
02 | * @param needCount |
03 | * @param count |
04 | * @param startLongValue |
05 | * @return |
06 | */ |
07 | public static List<Long> randomNoRepeatLongArray( int needCount, int count, long startLongValue){ |
08 | //这种情况 会出现无限循环的 |
09 | if (needCount>count) return null ; |
10 | |
11 | Random random = new Random(); |
12 | int [] ints = new int [count]; |
13 | for ( int i= 0 ;i<count;i++){ |
14 | ints[i]=i; |
15 | } |
16 | |
17 | List<Long> list = new ArrayList<Long>(); |
18 | while (list.size()<needCount){ |
19 | int temp = random.nextInt(count); |
20 | if (ints[temp] != - 1 ){ |
21 | list.add(temp+startLongValue); |
22 | ints[temp]=- 1 ; |
23 | } |
24 | } |
25 | ints = null ; |
26 | return list; |
27 | } |