一维数组、二维数组——Java

一、 一维数组

1.  数组是相同类型数据的有序集合

  •  相同类型的若干个数据,按照一定先后次序排列组合而成
  •  每个数组元素可以通过一个下标来访问它们
  • 其中,每一个数据称作一个数组元素

2. 数组特点:

  • 其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
  • 其元素必须是相同类型,不允许出现混合类型
  •  数组中的元素可以是任何数据类型,包括基本类型和引用类型。

二、 数组声明方式

 1. 一维数组的声明方式有两种:

  • type[] arr_name;
  • type arr_name[];

三、 怎么创建数组

Java中使用关键字new 创建数组对

 四、 数组的界限

  • 定义并用运算符new为之分配空间后,才可以引用数组中的每个元素;
  • 数组元素的引用方式:arrayName[index]
  •  index为数组元素下标,可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i];
  • 数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 ~ n-1;
  • 每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长度(元素个数);
  •  数组的长度: 数组名.length

  • 起点和终点
    • 起点: 数组名[0]
    • 终点: 数组名[length-1]

五、 二维数组

1. 二维数组可以看成以数组为元素的数组。例如:

   int [][] a= {{1,2},{3,4,5,6},{7,8,9}};

2. 数组的拷贝

public class ArrayTest7 {
public static void main(String args[]) {
String[] s = {"Mircosoft","IBM","Sun","Oracle","Apple"};
String[] sBak = new String[6];
System.arraycopy(s,0,sBak,0,s.length);
for(int i=0;i<sBak.length;i++){
System.out.print(sBak[i]+" ");
}
System.out.println();
int[][] intArray = {{1,2},{1,2,3},{3,4}};
int[][] intArrayBak = new int[3][];
System.arraycopy(intArray,0,intArrayBak,0,intArray.length);
intArrayBak[2][1] = 100;
for(int i = 0;i<intArray.length;i++){
for(int j =0;j<intArray[i].length;j++){
System.out.print(intArray[i][j]+" ");
}
System.out.println();
}
}
}

六、 总结

一维数组入门

• 数组的特点:长度固定,连续空间,存储同一种类型数据
• 数组内存分配图
• for-each循环:简单、主要用于遍历操作

一维数组的应用

• 数组优缺点
• 优点:按照索引查询效率高
• 缺点:添加删除元素效率低;按照内容查询效率低(无序)

二维数组:

• 实质是每个元素是一维数组的一维数组;二维数组内存分配图

 

猜你喜欢

转载自www.cnblogs.com/lanchengbao/p/12188568.html