数组、自定义行列

数组、自定义队列
一维数组的定义:
     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;
		//讲新数组赋给arrayone
		arrayone=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];
		}
		//将新建的数组赋给arrayone
		arrayone=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];
		}
		//将新建的数组赋给arrayone
		arrayone=array4;
	}
	
	/**
	 * 移除指定的内容
	 * @param a:移除的内容
	 */
	public void remove2(int a){
		int j=0;
		//新建一个数组
		int array5 []=new int [arrayone.length];
		//移除掉a
		for(int i=0;i<arrayone.length;i++){
			if(arrayone[i]!=a)
				{array5[j]=arrayone[i];
				 j++;
				}
		}
		//将新建的数组赋给arrayone
		arrayone=array5;
	}
	
	
}