数组:就是相同类型的数据按一定顺序排列的集合,把有限个类型相同的数据元素用一个名字表示,通过编号来区分。名字即为数组名,编号即为下标。
数组是最简单、使用最广泛的一种数据结构,其实就是一块连续的内存,哪怕物理上不连续,逻辑上也是连续的,连续存放着一组相同类型数据元素。
数组的定义:type[] 变量名 = new type[数组长度]
数组分为:一维数组、二维数组、多维数组。
定义一个简单数组模型,包含增删改查等基本操作。
/**
*
* @author wt
*/
public class MyArray {
private static String[] strArr;
private static final int LENGTH=0;
public MyArray(int max){
strArr=new String[max];
}
public static void init(){
new MyArray(20);
}
public static int contains(String str){
int index=-1;
for(int i=0;i<length;i++){
if(str==strArr[i]){
index=i;
break;
}
}
return index;
}
public static void insert(String str){
strArr[length]=str;
length++;
}
public static boolean delete(String target){
int index=-1;
if((index=contains(target))!=-1){
for(int i=index;i<length-1;i++){
strArr[i]=strArr[i+1];
}
length--;
return true;
}else {
return false;
}
}
public static void show(){
System.out.print("[");
for(int i=0;i<length;i++){
if(i==length-1)
System.out.print(strArr[i]);
else
System.out.print(strArr[i]+" ");
}
System.out.print("]");
}
public static void update(int index,String target){
strArr[index]=target;
}
}
数组是最基本的的一种数据结构,是我们学习数据结构的敲门砖,它的优点在于易于理解,数据存放在连续的内存空间中,存储效率较低,可以通过下标快速查找数据元素,缺点在于插入、删除元素比较麻烦,需要大量偏移数据元素。