Java学习之数组

闲的蛋疼的时候,顺便加强下自己对PHP中数组操纵的一些技巧,就写了下面的一段小代码,可以随机生成卡号密码对应的数组,并且自动去重复,思路没有,纯粹瞎掰。

澳门新葡萄京官网首页 ,标签: java 数组

在程序语言中数组的重要性不言而喻,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活、强大,不像是Java等强类型高级语言数组只能存放同一类型或其子类型元素,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改。

开始 ".date("H:i:s")." ";

  for($i=1;$i<=$num;$i++)
  {
   $sn=sprintf("%02s%s%06s",$batch,$ym,$i);
   $seek=mt_rand(0,9999).mt_rand(0,9999).mt_rand(0,9999); //12位
   $start=mt_rand(0,20);
   $str=strtoupper(substr(md5($seek),$start,12));
   $str=str_replace("O",chr(mt_rand(65,78)),$str);
   $str=str_replace("0",chr(mt_rand(65,78)),$str);
   $row=array('sn'=>$sn,'password'=>$str,'created'=>time(),'point'=>$point);
   //查重
  //在这里加插入数据的代码.
  print_r($row);
  }
  echo " 结束 ".date("H:i:s")."";
  printf("
成功生成:%s万个 %s点 的密码",$num/1e4,$point);
  return $num;
 } //函数结束

$_POST['num']=1;
$_POST['point']=10;
$_POST['batch']=10;
$_POST['ym']='1405';
echo MakeCard(); ?>

数组是JavaScript中常见的一个对象,它有一些经典的操作,比如数组的增、删、改、查。在这篇文章中主要整理这方面的相关操作方法。

方法二:

声明数组语法:

声明并开辟数组

数据类型 数组名称[] = new 数据类型[长度];
数据类型 []数组名称 = new 数据类型[长度];

//分步完成

//声明数组
数据类型 数组名称 [] = null;
//开辟数组
数组名称 = new 数据类型[长度];

增加数组项

以上所述就是本文的全部内容了,希望大家能够喜欢。

数组的数据类型

数组是引用类型。

首先来看如何给一个数组增加数组项。假设有一个数组:

动态初始化数组

先开辟数组空间,在赋值。

int data[] = new int[3];
data[0] = 1;
data[1] = 2;
data[2] = 3;

int temp [] = data;
temp[0] = 99;

System.out.println("data[0] =" + data[0]);

结果是data[0] = 99tempdata使用的是同一块内存空间。

var arr = [];

静态初识化数组

数组的定义的同时就设置好了相应的值。

//格式一
数据类型 数组名称 [] = {值,值,值,...};

//格式二
数据类型 数组名称 [] =new 数据类型{值,值,值,...};

上面声明了一个数组,但这个数组是一个空数组 [] ,其 length 的值为 0
。接下来我们看如何给数组 arr
增加数组项。最简单的方法可以通过索引值方式,给数组增加数组项:

二维数组

二维数组和一位数组一样,也是引用数据类型。也有动态初始化和静态初始化两种初始化方式。

在进行数组的引用传递的过程之中,方法对数组的修改一定会影响到原始数据。

var arr = [];arr[0] = 'a';arr[1] = 'b';arr[2] = 1;arr[3] = 2;console.log; // ["a", "b", 1, 2]console.log; // 4

有关数组的算法

另外也可以通过改为数组的 length
值给数组增加数组项,不过这种方法给数组增加的数组项都是 undefined :

数组排序

//冒泡排序
    for(int x = 0; x < arrayName.length; x++)
    {
        for(int y = 0; y < arrayName.length - 1; y++)
        {
            int t = arrayName[y];
            arrayName[y] = arrayName[y + 1];
            arrayName[y + 1] = t;
        }
    }
var arr = [];arr[0] = 'a'; // 给数组arr添加一个`a`数组项arr.length = 5; // 改变数组的`length`值为`5`console.log; // ["a", undefined × 4]

数组倒置

虽然这种方法也给数组增加了数组项,但相对来说都较为麻烦。其实给数组添加数组项,没有这么麻烦,可以通过数组提供的原生方法给数组添加数组项。

一维数组

数组倒置,将数组从0至尾倒置成从尾至0.
即:0,1,2,3,
变成:3,2,1,0

    public void reverse(int arr[])
    {
        int len = arr.length / 2;
        int head = 0;
        int tail = arr.length - 1;
        for(int x = 0; x < len; x++)
        {
            int temp = arr[head];
            arr[head] = arr[tail];
            arr[tail] = temp;
            head++;
            tail--;
        }
    }

push()

二维数组

二维数组的转置。(行列相同)

public void reverse(int arr[][]){
    for(int x= 0; x < arr.length; x++){
        for(int y = x; y <arr[x].length; y++){
            if(x != y){
                int temp =arr[x][y];
                arr[x][y] = arr[y][x];
                arr[y][x] = temp;
            }
        }
    }
}

使用 push() 方法可以给数组末尾添加一个或多个数组项。

数组操作方法

var arr = [];arr.push;console.log; // ['a','b']unshift 方法可以给数组末尾添加一个或多个数组项,那么使用 unshift() 方法可以在数组的前面添加一个或多个数组项:var arr = ['a','b'];arr.unshift; // [1, 2, "a", "b"]

数组拷贝

将一个数组的部分内容拷贝到另外一个数组之中。

语法

System.arraycopy(arrA,indexA,arrB,indexB,num)
//arrA,arrB 数组A,数组B,将数组A的内容拷到数组B中
//indexA,数组A开始拷贝的索引;
//indexB,数组B开始接收拷贝的索引。
//num 要拷贝的个数。

除了这两种方法之外,还可以使用 splice() 方法给数组添加数组项:

数组排序

语法

Array.sort(arrayName);
var arr = ['a','b','c',1,2];arr.splice;console.log; // ["a", "b", "d", "c", "e", "c", 1, 2]

对象数组

语法

class Book{
   //略
}
Book book []= new Book [3] ;

//对象数组的 每个数据都需要分别实例化

book[0] = new Book("title","num");
book[1] = new Book("title1","num2");
book[2] = new Book("title2","num3");

对象数组实际是将多个对象交给数组统一管理。

另外除了 splice
方法可以给数组添加数组项,只不过使用这种方法不会改变原数组,会在原数组中创建一个新数组:

var arr = ['a','b','c'];var arr2 = arr.concat;console.log; // ["a", "b", "c"]console.log; // ["a", "b", "c", "d", 1, 2, "e", 3]

删除数组项

对于数组的操作,除了增加数组项,很多时候还需要对数组进行删除操作。删除数组项常用的方法有
pop 两种方法。

pop()

pop() 方法可以从数组的末尾删除一个数组项:

var arr = ['a','b','c','d',1,2];arr.pop; // ["a", "b", "c", "d", 1]

shift()

shift 方法刚好相反,它可以删除数组的第一项:

var arr = ['a','b','c','d',1,2];arr.shift; // ["b", "c", "d", 1, 2]

不管是 pop
方法每次只能给数组删除一个数组项,但很多时候这样删除数组项相对来说是比较麻烦的。在数组的操作中,除了这两种方法之外,还可以通过
slice 方法来删除数组项。

slice()

slice() 方法可以给一个数组中删除多个数组项,只不过不同的是, slice()
不会影响原数组,只是会在原数组基础上创建一个数组副本:

var arr = [1,2,3,4,'a','b'];var arr2 = arr.slice; // [1, 2, 3, 4, "a", "b"]console.log; // [3, 4, "a", "b"]console.log; // ["a", "b"]

splice()

splice() 方法除了能给数组添加数组项之外,还可以给数组删除数组项:

var arr = [1,2,3,4,'a','b','c'];var arr2 = arr.splice; // [1, 2, "a", "b", "c"]console.log; // [3, 4]

改变数组

数组中 splice()
方法是数组中一个强大的方法,其除了可以给数组添加数组项、删除数组项之外,还可以改变一个数组:

var arr = [1,2,3,4,5,6];var arr2 = arr.splice;console.log; // [1, 2, "a", "b", "c", 6]console.log; // [3, 4, 5]

数组的查询

这里所说的数组查询其实指的是数组的查询提取。其使用的方法是 slice() 方法:

var arr = [1,2,3,4,5,6];var arr2 = arr.slice; // [1, 2, 3, 4, 5, 6]console.log; // [4, 5, 6]

总结

这里简单的整理了一个数组的增、删、改、查的相关方法。简单的总结一下:

增加数组项方法:除了直接改变数组项的值和修改数组的 length
给数组添加数组项方法之外,还可以使用 push 、 concat 添加数组项

删除数组项方法:删除数组项方法有 pop 和 splice() 方法

改变数组项方法:在数组中主要通过 splice() 方法来改变数组项

查询数组项方法:
查询数组项方法其实就是对数组做查询提取功能,主要使用的方法是 slice 、
push 和 unshift() 操作方法可以点击这里;关于 concat 和 splice()
方法的相关介绍可以点击这里。

有关JavaScript学习笔记之数组的增、删、改、查小编就给大家介绍到这里,希望对大家有所帮助!更多有关javascript知识请登陆脚本之家网站官网了解详情!

发表评论

电子邮件地址不会被公开。 必填项已用*标注