精华内容
下载资源
问答
  • java 随机数不重复

    2014-07-17 14:40:00
    * 随机指定范围内N个不重复的数 * 在初始化的无重复待选数组中随机产生一个数放入结果中, * 将待选数组被随机到的数,用待选数组(len-1)下标对应的数替换 * 然后从len-2里随机产生下一个随机数...

    package test;


    import java.util.HashSet;

    import java.util.Random;


    public class Snippet {

    /**

    * 随机指定范围内N个不重复的数

    * 在初始化的无重复待选数组中随机产生一个数放入结果中,

    * 将待选数组被随机到的数,用待选数组(len-1)下标对应的数替换

    * 然后从len-2里随机产生下一个随机数,如此类推

    * @param  max  指定范围最大值

    * @param  min  指定范围最小值

    * @param  n  随机数个数

    * @return  int[] 随机数结果集

    */

    public static int[] randomArray(int min,int max,int n){

    int len = max-min+1;

    if(max < min || n > len){

    return null;

    }

    //初始化给定范围的待选数组

    int[] source = new int[len];

           for (int i = min; i < min+len; i++){

            source[i-min] = i;

           }

           

           int[] result = new int[n];

           Random rd = new Random();

           int index = 0;

           for (int i = 0; i < result.length; i++) {

            //待选数组0到(len-2)随机一个下标

            int  s=rd.nextInt()%len;

      //     System.out.print(s-- +",");

               index = Math.abs(rd.nextInt()%len--);

    //            System.out.println(index);

               //将随机到的数放入结果集

               result[i] = source[index];

               //将待选数组中被随机到的数,用待选数组(len-1)下标对应的数替换

               source[index] = source[len];

           }

           return result;

    }

        public static void main(String[] args) {

    // int[] reult1 = randomCommon(20,50,10);

    // for (int i : reult1) {

    // System.out.println(i);

    // }

    int[] reult2 = randomArray(0,4,5);

    for (int i : reult2) {

    System.out.print(i);

    }

    // HashSet<Integer> set = new HashSet<Integer>();

    // randomSet(20,50,10,set);

    //         for (int j : set) {

    //         System.out.println(j);

    // }

    }

    }


    转载于:https://my.oschina.net/jiefalcon/blog/291928

    展开全文
  • 知道你们发现没有,在很多互联网公司基本上都是80后,90后居多,很少还有超过40岁的程序员。可能很多人心里都有一个疑问,那就是这些40多岁的程序员都干嘛去了呢?创业显然只是极少数的人,至于管理岗,一个公司也...

    前言

    不知道你们发现没有,在很多互联网公司基本上都是80后,90后居多,很少还有超过40岁的程序员。可能很多人心里都有一个疑问,那就是这些40多岁的程序员都干嘛去了呢?创业显然只是极少数的人,至于管理岗,一个公司也不过几个人而已,更多的人显然已经不再从事这个行业了,难道真的只能提前退休了吗?

    01 蚂蚁金服面试题之MySQL

    之前的阿里面试题都有做总结,具体面试题内容整理成了文档,本文是针对MySQL系列的,所以下面只展示了自己第一次面试阿里时被吊打问到的一些MySQL难题。

    1、请解释关系型数据库概念及主要特点?

    2、请说出关系型数据库的典型产品、特点及应用场景?

    3、请详细描述 SQL 语句分类及对应代表性关键字。

    4、什么是 MySQL 多实例,如何配置 MySQL 多实例?

    5、如何加强 MySQL 安全,请给出可行的具体措施?

    6、误操作执行了一个 drop 库 SQL 语句,如何完整恢复?

    7、详述 MySQL 主从复制原理及配置主从的完整步骤。

    8、MySQL 如何实现双向互为主从复制,并说明应用场景?

    9、MySQL 如何实现级联同步,并说明应用场景?

    10、MySQL 主从复制故障如何解决?

    02 二战阿里,天猫团队面试题(3轮技术面+HR面)

    蚂蚁金服面试技术题:

    1、自我介绍呗

    2、项目介绍呗(先自己介绍项目,然后再聊天)

    3、junit用法,before,beforeClass,after,afterClass的执行顺序

    4、分布式锁

    5、nginx的请求转发算法,如何配置根据权重转发

    6、用hashmap实现redis有什么问题(死锁,死循环,可用ConcurrentHashmap)

    7、线程的状态

    8、线程的阻塞的方式

    9、sleep和wait的区别

    10、hashmap的底层实现

    11、一万个人抢100个红包,如何实现(不用队列),如何保证2个人不能抢到同一个红包,可用分布式锁

    12、Java内存模型,垃圾回收机制,不可达算法

    13、两个Integer的引用对象传给一个swap方法在方法内部交换引用,返回后,两个引用的值是否会发现变化

    14、AOP的底层实现,动态代理是如何动态,假如有100个对象,如何动态的为这100个对象代理?

    15、是否用过maven install、 maven test、git(make install是安装本地jar包)

    16、Tomcat的各种配置,如何配置docBase

    17、Spring的bean配置的几种方式

    18、Web.xml的配置

    19、Spring的监听器。

    20、Zookeeper的实现机制,有缓存,如何存储注册服务的

    21、IO会阻塞吗?readLine是不是阻塞的

    22、用过 Spring的线程池还是java的线程池?

    23、字符串的格式化方法 (20,21这两个问题问的太低级了)

    24、时间的格式化方法

    25、定时器用什么做的

    26、线程如何退出结束

    27、java有哪些锁?乐观锁 悲观锁 synchronized 可重入锁 读写锁,用过reentrantlock吗?reentrantlock与synmchronized的区别

    28、ThreadLocal的使用场景

    29、Java的内存模型,垃圾回收机制

    30、为什么线程执行要调用start而不是直接run(直接run,跟普通方法没什么区别,先调start,run才会作为一个线程方法运行)

    31、qmq消息的实现机制(qmq是去哪儿网自己封装的消息队列)

    32、遍历hashmap的三种方式

    33、JVM的一些命令

    34、memcache和redis的区别

    35、Mysql的行级锁加在哪个位置

    36、ConcurrentHashmap的锁是如何加的?是不是分段越多越好

    37、myisam和innodb的区别(innodb是行级锁,myisam是表级锁)

    38、MySQL其他的性能优化方式

    39、Linux系统日志在哪里看

    40、如何查看网络进程?

    41、统计一个整数的二进制表示中bit为1的个数

    42、JVM内存模型,java内存模型

    面试题答案:

    image

    03 二战前,我是如何复习的?

    (1)MySQL 专题部分(先刷题)

    1、Mysql 中有哪几种锁?

    2、MYSQL 数据表在什么情况下容易损坏?

    3、MySQL 里记录货币用什么字段类型好

    4、MYSQL 支持事务吗?

    5、解释访问控制列表

    6、什么是通用 SQL 函数?

    7、什么是非标准字符串类型?

    8、Mysql 表中允许有多少个 TRIGGERS?

    9、什么样的对象可以使用 CREATE 语句创建?

    10、NOW()和 CURRENT_DATE()有什么区别?

    11、可以使用多少列创建索引?

    12、InnoDB 是什么?

    13、Mysql 如何优化 DISTINCT?

    14、如何输入字符为十六进制数字?

    15、如何显示前 50 行?

    MySQL 面试题答案:

    image

    (2)MySQL 性能优化的21个最佳实践

    1、为查询缓存优化你的查询

    2、EXPLAIN 你的 SELECT 查询

    3、当只要一行数据时使用 LIMIT 1

    4、为搜索字段建索引

    5、在 Join 表的时候使用相当类型的例,并将其索引

    6、千万不要 ORDER BY RAND()

    7、避免 SELECT *

    8、永远为每张表设置一个 ID

    9、使用 ENUM 而不是 VARCHAR

    10、从 PROCEDURE ANALYSE() 取得建议

    11、尽可能的使用 NOT NULL

    12、Prepared Statements

    13、无缓冲的查询

    14、把 IP 地址存成 UNSIGNED INT

    15、固定长度的表会更快

    16、垂直分割

    17、拆分大的 DELETE 或 INSERT 语句

    18、越小的列会越快

    19、选择正确的存储引擎

    20、使用一个对象关系映射器(Object Relational Mapper)

    21、小心“永久链接”

    image

    (3)MySQL 性能调优与架构设计

    基础篇:

    1、MySQL基本介绍

    2、MySQL架构组成

    3、MySQL存储引擎简介

    4、MySQL安全管理

    5、MySQL备份与恢复

    性能优化篇:

    1、影响MySQLServer性能的相关因素

    2、MySQL数据库锁定机制

    3、MySQL数据库Query的优化

    4、MySQL数据库Schema设计的性能优化

    5、MySQLServer性能优化

    6、常用存储引擎优化

    架构设计篇:

    1、MySQL可扩展设计的基本原则

    2、可扩展性设计之MySQLReplication

    3、可扩展性设计之数据切分

    4、可扩展性设计之Cache与Search的…

    5、MySQLCluster

    6、高可用设计之思路及方案

    7、高可用设计之MySQL监控

    image

    04 我的复习宝典资料

    (1)Java面试手册

    1、性能优化面试专栏

    2、微服务架构面试专栏

    3、并发编程高级面试专栏

    4、开源框架面试题专栏

    5、分布式面试专栏

    image

    (2)实战文档

    1、Redis实战

    2、MySQL实战

    3、Spring Boot实战

    4、Spring Cloud实战

    5、实战Java虚拟机

    以实战Java虚拟机为例:

    1、初探Java虚拟机

    2、认识Java虚拟机的基本结构

    3、常用Java 虚拟机参数

    4、垃圾回收概念与算法

    5、垃圾收集器和内存分配

    6、性能监控工具

    7、分析Java堆

    8、锁与并发

    9、Class 文件结构

    10、Class 装载系统

    11、字节码执行

    image

    (3)Java核心知识点整理文档

    image

    image

    由于篇幅限制,很多内容都只展示了目录和截图,这些都整理在文档里,需要这些文档资料的,均可以分享给大家,希望所有的程序员都能够学习起来,努力实现我们的大厂梦!

    总结

    我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。实际上,作为程序员,丰富自己的知识储备,提升自己的知识深度和广度是很有必要的。

    送大家一份资料,戳这里免费领取

    Mybatis源码解析

    制,很多内容都只展示了目录和截图,这些都整理在文档里,需要这些文档资料的,均可以分享给大家,希望所有的程序员都能够学习起来,努力实现我们的大厂梦!

    总结

    我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。实际上,作为程序员,丰富自己的知识储备,提升自己的知识深度和广度是很有必要的。

    送大家一份资料,戳这里免费领取

    Mybatis源码解析

    [外链图片转存中…(img-PzaKqadq-1622041450682)]

    展开全文
  • 1、随机数要调用类Random 2、随机生成 7个不为0而且不重复随机数

    1、随机数要调用类Random
    在这里插入图片描述
    2、随机生成 7个不为0而且不重复的随机数
    在这里插入图片描述

    展开全文
  • 这个是最常用的技术之一。程序员希望通过随机数的方式来处理众多的业务逻辑,测试...以 Java 语言为例,我们观察其 Random 对象的 nextInt(int) 方法,发现这个方法将生成 0 ~ 参数之间随机取值的整数。例如(假设...

    这个是最常用的技术之一。程序员希望通过随机数的方式来处理众多的业务逻辑,测试过程中也希望通过随机数的方式生成包含大量数字的测试用例。

    问题往往类似于:

    如何随机生成 1~100 之间的随机数,取值包含边界值 1 和 100。

    如何随机生成随机的3位整数?

    以 Java 语言为例,我们观察其 Random 对象的 nextInt(int) 方法,发现这个方法将生成 0 ~ 参数之间随机取值的整数。例如(假设先有 Random rand = new Random();,下同):

    rand.nextInt(100);

    这行代码将生成范围 0~100 之间的随机数,有趣的是,取值可能为 0 ,但不可能为 100。我们用中学数学课学习的区间表示法,表示为:[0, 100)。

    那么如果要获得区间 [1~100] 的随机数,该怎么办呢?稍微动动脑筋就可以想到:区间 [0, 100) 内的整数,实际上就是区间 [0, 99]。因为最大边界为100,可惜不能等于100,因此最大可能产生的“整数”就是99。

    既然 rand.nextInt(100) 获得的值是区间 [0, 99],那么在这个区间左右各加 1,就得到了区间 [1, 100]。因此,代码写成:

    rand.nextInt(100) + 1;

    即可。

    运行下面的代码,将获得 [1, 100] 的 10 个取值。

    展开全文
  • n:需要的随机数的数目min:下限;max:上限import java.util.* ;class Tester {public static void main(String args[]) {HashSet set = new HashSet() ;int min = 1 ;int max = 50 ;Ran(min,max,10,set) ;Iterator ...
  • 获取5个不重复的随机数-重复的话重新随机... 最终生成的5个随机数放到数组中,要求数组中的着5个随机数不重复。 */ public class Test02 { public static void main(String[] args) { //创建长度5的int数组 in...
  • java产生不重复随机数

    2021-01-15 14:06:08
    java产生不重复随机数 import java.util.Random; import java.util.Scanner; public class CSDN_procut { public static void main(String[] args) { Random suiji = new Random(); Scanner input = new Scanner...
  • 获取不重复随机数,自定义取值范围 import java.util.HashSet; import java.util.Set; /** * <p> * 获取不重复随机数 * </p> * * @author passer * @since 2021-02-25 */ public class ...
  • import java.util.Arrays; import java.util.Random; public class RandDemo { /** * * make by dxh on 2013-1-23 下午02:16:44 * @param args */ public static void...
  • Java生成不重复随机数

    2021-02-08 14:36:22
    import java.util.Random; public class randomHelper { public static int[] random(int nums) { int[] list1=new int[500];... //先给数组2赋值,不然空数组会导致后面取随机数重复 for(int i=0;i<list2
  • Java 随机数之从指定数据范围内随机选取n个不重复的数据 一、简述 记--从指定数据范围内随机选取n个不重复的数据,如从1~100中随机选取10个数据。 二、效果 三、工程结构 四、源文件 import java.util...
  • 游戏规则: 1-33号红球你可以选择6个球号,1-16号蓝球你可以选择1个...主要功能就是 :随机数生成不重复。 //代码可优化 import java.util.Arrays; import java.util.Random; import java.util.Scanner; import ...
  • java生成不重复随机数

    2016-05-13 16:35:35
    java生成不重复随机数public class SetClass { public static void main(String[] args) { HashSet<Integer> set = new HashSet(); randomSet(20, 50, 5, set); for (int j : set)
  • java代码产生不重复随机数,有用处,可以参考!
  • java不重复随机数

    2017-07-17 17:35:41
    java不重复随机数
  • Java随机生成6/8/12位数,要求每次产生的随机数与已生成的随机数不重复 备注:如果有相同的数据,那么就重新生成一个新的数据: 后台代码如下: public static void main(String[] args) { ...
  • java 不重复随机数序列 java 不重复随机数序列
  • Java实现不重复随机数

    千次阅读 2018-10-15 09:05:08
    随机指定范围内生成N个不重复的数 更多精彩 更多技术博客,请移步 asing1elife’s blog 具体实现 /** * @param min 指定范围最小值 * @param max 指定范围最大值 * @param n 随机数个数 */ private int[] ...
  • Java 随机数

    2015-10-29 13:56:07
    真正的随机数是使用物理现象产生的:...这些数列看似是随机的数,实际上它们是通过一个固定的、可以重复的计算方法产生的。计算机产生的随机数有很长的周期性。它们真正地随机,因为它们实际上是可以计算出来的,但
  • java获取不重复随机数

    千次阅读 2018-08-31 11:22:43
    package com.huateng.engine; import java.util.ArrayList; import java.util.List; import java.util.Random; public class CreateRandomNumber { public static void main(String[] args) { //推荐 ...
  • java 随机数高效生成

    千次阅读 2016-05-18 18:13:00
    既然这个java随机数问题经常被问到,那咱们也就写几种实现方式吧。仅供参考。1.1.1. 第一种方式第一种方式,咱们考虑一下,生成的字符串重复,怎么办呢?首先想到hashMap、hashSet的特性吧。那怎么就先用这种...
  • java 生成不重复随机数 数字类型方法 import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.UUID; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 874
精华内容 349
关键字:

java随机数不重复

java 订阅