数组、自定义队列
一维数组的定义:
1)数据类型 数组名[] = new 数据类型[长度];
2)数据类型 数组名[] = {...};
3)数据类型 数组名[] = new 数据类型[]{...};或
数据类型 数组名[];
数组名 = new 数据类型[长度];
二维数组的定义:
1)数据类型 数组名[][] = new 数据类型[长度1][长度2];
2)数据类型 数组名[][] = {...}{...};
3)数据类型 数组名[][] = new 数据类型[][]{...}{...};
与数组相比,自定义队列相对就有更强的扩充性,可以向队列中无限制的加入自己定义的类型。自定义队列实质是自己定义的一个的一个类,类中有一个public类型的数组,并定义对这个数组进行增删查等方法。
package cn.javanet.array;/** * 自定义队列:可以无限制的向队列中添加数据 * * @author */public class NetjavaList { //创建一个数组public int arrayone[]=new int [0];/** * 返回自定义队列的长度 * @return 长度 */public int size(){return arrayone.length;}/** * 得到指定位置的索引 * @param index:指定的索引位 * @return:返回指定索引的元素值 */public int get (int index){return arrayone[index];}/** * 在数组的末尾添加一个元素 * a:添加的元素 */public void addone(int a){//重新创建一个数组int arraytwo[]= new int [arrayone.length+1];//讲原数组的值一一赋给新数组for(int i=0;i<arrayone.length;i++){arraytwo[i]=arrayone[i];}//将a插入新数组的末尾arraytwo[arrayone.length]=a;//讲新数组赋给arrayonearrayone=arraytwo;}/** * 在指定位置添加指定的数据 * @param add:添加的元素值 * @param index:指定添加的位置 */public void add(int add,int index){//重新创建一个数组int array3[]=new int [arrayone.length+1];//将索引值前面的数据先赋给新数组for(int i=0;i<arrayone[index];i++){array3[i]=arrayone[i];}//加入add,并将剩下的元素一一赋值array3[index]=add;for(int i=index;i<arrayone.length;i++){array3[i+1]=arrayone[i];}//将新建的数组赋给arrayonearrayone=array3;}/** * 将指定位置的元素移除 * @param index:指定的位置 */public void remove(int index){//新建一个数组int array4 []=new int [arrayone.length-1];//将索引值前面的数据先赋给新数组for(int i=0;i<arrayone[index];i++){array4[i]=arrayone[i];}//将索引值后面的数据赋给新数组for(int i=index+1;i<arrayone.length;i++){array4[i-1]=arrayone[i];}//将新建的数组赋给arrayonearrayone=array4;}/** * 移除指定的内容 * @param a:移除的内容 */public void remove2(int a){int j=0;//新建一个数组int array5 []=new int [arrayone.length];//移除掉afor(int i=0;i<arrayone.length;i++){if(arrayone[i]!=a){array5[j]=arrayone[i]; j++;}}//将新建的数组赋给arrayonearrayone=array5;}}