之前介绍了一些基本的数组,但在书中还有一些,我整理出来了
4.数组排序
使用Arrays中的方法sort:
int[] a = new int[1000];
Arrays.sort(a)
本书中的LotteryDrawing(抽奖游戏)
第一步:定义两个数组 一个数组用来存放可抽取的值 另一个存放抽取出来的值
第二步:值这里会用到一个Math.random的方法,就是从0—1中随机抽取一个浮点数然后用n乘以,最后得到的就是0—n-1之间的一个随机数了:int r = (int) (Math.random()*n)
第三步:这里要注意random放回的是一个double类型的所以要转化为int类型
并且要确保这个数被抽取后就不能在被抽取
所以这边用的一个小方法是将可抽取数组里的最后一个元素赋给这个被抽取出来的,然后将这个数组整体长度减一,这样就实习了我们的要求
第四步:将抽取值排序使用sort方法
5.多维数组
这里多维数组可以参考一下常用的二维数组,也就是数组的数组,这就很像c中的指针的指针,依照我的理解来看,数组就是把很多一样类型的数据放在一起,就相当于:
int a = 1; int b = 2;int c = 3;
int[] arrays = {1, 2, 3};
也就是int 加上一个[],那他就是一个数组了,其余的和之前讲一样
那么二维数组可以理解为数组的数组就是:
int【】【】,也就是给数组int【】在加上一个【】,这个讲的有些抽象,抛开那些概念什么的,就相当于int int【】 int【】【】,也就是从前有一人他教一个徒弟,觉得万一这个徒弟没有传下去怎么办,就多收了很多,然后开了一个学校,但是人太多了,就给他们分了老师 然后老师也不好记录,于是分了班级,对于现阶段来说每加一个维度就是加一个标签。这样就好理解了
6不规制数组:
这本书还写到了不规则数组,就是每一行都有不一样的长度,就像九九乘法表那样,是个梯形的,当然还有更多的不规制数组,在之后的学习中应该会碰到,这里就不过多赘述了