最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)生成n個不重復的隨機數(shù)

 更新時間:2021年03月22日 10:53:52   作者:_zw  
這篇文章主要為大家詳細介紹了Java實現(xiàn)生成n個不重復的隨機數(shù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java實現(xiàn)生成n個不重復的隨機數(shù)的具體代碼,供大家參考,具體內(nèi)容如下

需求:

根據(jù)min和max,生成n個不重復的隨機數(shù)。(注:范圍[min,max],n <= (max - min +1))

思路:

0)、把從min到max的可能出現(xiàn)的數(shù)字全部放進一個候選List;
1)、隨機生成索引index(0 <= index <= (list.size()-1));
2)、根據(jù)index從List中取出一個數(shù),list.get(index),并移除這個元素;

代碼如下:

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class MyRandom {

 /**
 * 根據(jù)min和max隨機生成一個范圍在[min,max]的隨機數(shù),包括min和max
 * @param min
 * @param max
 * @return int
 */
 public int getRandom(int min, int max){
 Random random = new Random();
 return random.nextInt( max - min + 1 ) + min;
 }

 /**
 * 根據(jù)min和max隨機生成count個不重復的隨機數(shù)組
 * @param min
 * @param max
 * @param count
 * @return int[]
 */
 public int[] getRandoms(int min, int max, int count){
 int[] randoms = new int[count];
 List<Integer> listRandom = new ArrayList<Integer>();

 if( count > ( max - min + 1 )){
  return null;
 }
 // 將所有的可能出現(xiàn)的數(shù)字放進候選list
 for(int i = min; i <= max; i++){
  listRandom.add(i);
 }
 // 從候選list中取出放入數(shù)組,已經(jīng)被選中的就從這個list中移除
 for(int i = 0; i < count; i++){
  int index = getRandom(0, listRandom.size()-1);
  randoms[i] = listRandom.get(index);
  listRandom.remove(index);
 }

 return randoms;
 }
}

小編再為大家分享一段:java產(chǎn)生10個不同隨機數(shù)的代碼:

package exercise03_jdknews;

import java.util.Random;
import java.util.Vector;

/**
 * 獲取10個1-20之間的隨機數(shù),要求不能重復
 * 
 * @author lgt
 *
 */
public class RandomNumberNoRepeat {
 public static void main(String[] args) {
 //創(chuàng)建一個產(chǎn)生隨機數(shù)的對象
 Random r = new Random();

 //創(chuàng)建一個存儲隨機數(shù)的集合
 Vector<Integer> v = new Vector<Integer>();

 //定義一個統(tǒng)計變量
 int count = 0;

 while(count < 10){
  int number = r.nextInt(20) + 1;

  //判斷number是否在集合中存在
  if(!v.contains(number)){
  //不在集合中,就添加
  v.add(number);
  count++;
  }
 }

 //遍歷輸出
 for(int i : v){
  System.out.println(i);
 }
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • java.net.SocketException: Connection reset 解決方法

    java.net.SocketException: Connection reset 解決方法

    最近糾結致死的一個java報錯java.net.SocketException: Connection reset 終于得到解決
    2013-03-03
  • 關于mybatis-plus邏輯刪除自動填充更新時間的問題

    關于mybatis-plus邏輯刪除自動填充更新時間的問題

    mybatis-plus是對mybatis的增強,mybatis-plus更像是面向對象編程,數(shù)據(jù)庫基本CRUD的操作可以不用手動編寫SQL語句,大大提高了開發(fā)的效率,這篇文章主要介紹了mybatis-plus邏輯刪除自動填充更新時間問題,需要的朋友可以參考下
    2022-07-07
  • XML操作類庫XStream使用詳解

    XML操作類庫XStream使用詳解

    這篇文章主要給大家介紹了關于XML操作類庫XStream使用的相關資料,需要的朋友可以參考下
    2023-11-11
  • Java結構型設計模式中的適配器模式與橋接模式解析

    Java結構型設計模式中的適配器模式與橋接模式解析

    這篇文章主要介紹了Java結構型設計模式中的適配器模式與橋接模式,結構型設計模式是從程序的結構上解決模塊之間的耦合問題,需要的朋友可以參考下
    2016-02-02
  • Spring Boot事務配置詳解

    Spring Boot事務配置詳解

    這篇文章主要介紹了Spring Boot事務配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • spring異步service中處理線程數(shù)限制詳解

    spring異步service中處理線程數(shù)限制詳解

    這篇文章主要給大家介紹了關于spring異步service中處理線程數(shù)限制的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用spring具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • Java集合中的CopyOnWriteArrayList使用詳解

    Java集合中的CopyOnWriteArrayList使用詳解

    這篇文章主要介紹了Java集合中的CopyOnWriteArrayList使用詳解,CopyOnWriteArrayList是ArrayList的線程安全版本,從他的名字可以推測,CopyOnWriteArrayList是在有寫操作的時候會copy一份數(shù)據(jù),然后寫完再設置成新的數(shù)據(jù),需要的朋友可以參考下
    2023-12-12
  • 基于Java并發(fā)容器ConcurrentHashMap#put方法解析

    基于Java并發(fā)容器ConcurrentHashMap#put方法解析

    下面小編就為大家?guī)硪黄贘ava并發(fā)容器ConcurrentHashMap#put方法解析。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 深入了解JAVA數(shù)據(jù)類型與運算符

    深入了解JAVA數(shù)據(jù)類型與運算符

    這篇文章主要介紹了Java基本數(shù)據(jù)類型和運算符,結合實例形式詳細分析了java基本數(shù)據(jù)類型、數(shù)據(jù)類型轉換、算術運算符、邏輯運算符等相關原理與操作技巧,需要的朋友可以參考下
    2021-07-07
  • Java 中使用Spring Security的實例詳解

    Java 中使用Spring Security的實例詳解

    Spring Security是一款強大的安全框架,可以幫助用戶保護Web應用程序和REST API的安全性,這篇文章主要介紹了Java 中如何使用Spring Security,需要的朋友可以參考下
    2023-06-06

最新評論

山东省| 普兰店市| 阿拉尔市| 会东县| 天祝| 光山县| 虞城县| 巴南区| 漳平市| 罗源县| 交城县| 和林格尔县| 商城县| 九龙县| 宜君县| 米林县| 遵化市| 正定县| 淄博市| 昌乐县| 涞源县| 当雄县| 仙桃市| 庆阳市| 彰化市| 青阳县| 淮安市| 师宗县| 左权县| 梅河口市| 凌海市| 珠海市| 福海县| 蒙城县| 淅川县| 偃师市| 四子王旗| 澄迈县| 繁昌县| 泌阳县| 巴马|