Math类Random类与数组集合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Math类Random类与数组集合相关的知识,希望对你有一定的参考价值。
Math类:
Math类是在java.lang包下的一个用于数学计算的类。Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
Math类的一些方法:
Math.random();
获得浮点类型的随机值
Math.PI();
获得圆周率
Math.abs();
获得绝对值
Math.round();
四舍五入
Math.floor();
舍去,返回一个double值,该值小于等于参数,并等于某个整数
Math.max();
获得两个值中的最大值
Math.min();
获得两个值中最小的一个
Math.nextDown(double d);
返回比d小小一点点的浮点数
Math.nextUp(double d);
返回 d 和正无穷大之间与 d 相邻的浮点值
Math.sqrt(double d);
获得正确舍入的double值的平方根
代码示例:
运行结果:
Random类:
随机数类,此类使用的是48位的种子。使用方法可以获得不同类型的随机值。可以自定义随机值的范围。
常用方法:
nextInt(500);
获得500以内的随机int值
nextInt();
获得随机int值
nextFloat();
获得1以内的随机float值
nextDaoble();
获得1以内的随机double值
nextDaoble()*100;
获得100以内的随机double值
nextBytes(byte[] b);
生成随机字节,并将其置于用户提供的byte数组中。所生成的随机字节数等于该byte数组的长度。
代码示例:
运行结果:
数组集合:
数组集合就相当于一个无限增长的容器,这个容器可以容纳各种类型,并且这个容器提供了添加、修改、删除、获得等操作方法。
数组集合的添加方法原理:
做一个数组集合的添加方法首先需要在属性里申请一个Object数组,这个数组是用来存储传递进来的数据类型的,以Object作为数组是为了能够容纳不同的类型。申请index属性则是用来起到对数组进行记录、控制下标的作用。
方法上声明一个Object参数类型来接收传递进来的参数,进入方法后先判断Object数组对象是否为null,是的话就是第一次进行添加,就新建一个长度为10的Object数组,也就是这个集合的初始值。
第二次以上进行添加则进入else部分,进入else后判断Object数组的长度是否等于index+1,这句是用来判断是否需要对数组进行扩容,如果不需要扩容则把传递进来的参数放入Object数组下标加一的位置。
需要扩容则申请一个长度为Object数组长度乘以1.6的新Object数组,接着再使用内存拷贝方法将Object数组拷贝到新的数组上面,然后将Object数组对象的引用改为新的数组对象。这样就达到了数组无限增长的效果,但由于不是每一次都需要扩容,并且在扩容时使用的是内存拷贝方法,所以速度非常快,而且没那么耗费资源,扩容的次数越少运行的速度就越快。
代码示例:
测试运行速度:
运行结果:
本文出自 “zero” 博客,请务必保留此出处http://zero01.blog.51cto.com/12831981/1976509
以上是关于Math类Random类与数组集合的主要内容,如果未能解决你的问题,请参考以下文章
几种常见类的使用(System,Runtime,Math,Date,Calendar,Random)