橘子味的心
标题:Java数组

通常,数组是具有连续内存位置的类似类型的元素的集合。Java数组是一个包含类似数据类型的元素的对象。 它是一个数据结构,我们存储类似的元素。 只能在java数组中存储固定的元素集合。

java中的数组是基于索引的,数组的第一个元素存储的索引为:0

Java Array的优点

代码优化: 它使代码优化,可以轻松地检索或排序数据。
随机访问: 可以获取任何位于任何索引位置的数据。

Java Array的缺点

大小限制: 只能在数组中存储固定大小的元素。 它在运行时不会增长其大小。 为了解决这个问题,在java中使用了集合框架。

java中的数组类型

有两种类型的数组。

  • 一维数组
  • 多维数组

java中的单维数组

在java中声明一个数组的语法。

  1. dataType[] arr; (or)
  2. dataType []arr; (or)
  3. dataType arr[];
  4. Java

在java中实例化数组

  1. arrayRefVar=new datatype[size];
  2. Java

一维java数组的示例

让我们来看看java数组的简单例子,下面声明,实例化,初始化和遍历数组。

  1. class Testarray {
  2. public static void main(String args[]) {
  3.  
  4. int a[] = new int[5];// declaration and instantiation
  5. a[0] = 10;// initialization
  6. a[1] = 20;
  7. a[2] = 70;
  8. a[3] = 40;
  9. a[4] = 50;
  10.  
  11. // printing array
  12. for (int i = 0; i < a.length; i++)// length is the property of array
  13. System.out.println(a[i]);
  14.  
  15. }
  16. }
  17. Java

执行上面代码的得到下面的结果 -

  1. 10
  2. 20
  3. 70
  4. 40
  5. 50
  6. Shell

Java数组的声明,实例化和初始化

可以通过以下方式声明,实例化和初始化java数组:

  1. int a[]={33,3,4,5};//declaration, instantiation and initialization
  2. Shell

让我们来看看打印数组的简单例子。

  1. class Testarray1 {
  2. public static void main(String args[]) {
  3.  
  4. int a[] = { 33, 3, 4, 5 };// declaration, instantiation and
  5. // initialization
  6.  
  7. // printing array
  8. for (int i = 0; i < a.length; i++)// length is the property of array
  9. System.out.println(a[i]);
  10.  
  11. }
  12. }
  13. Java

执行上面代码,得到以下结果 -

在Java中将数组传递给方法

我们可以将java数组传递给方法,以便可以在数组上重复使用相同的逻辑。

让我们来看看获取使用方法的数组的最小数的一个简单的例子。

  1. class Testarray2 {
  2. static void min(int arr[]) {
  3. int min = arr[0];
  4. for (int i = 1; i < arr.length; i++)
  5. if (min > arr[i])
  6. min = arr[i];
  7.  
  8. System.out.println(min);
  9. }
  10.  
  11. public static void main(String args[]) {
  12.  
  13. int a[] = { 33, 3, 4, 5 };
  14. min(a);// passing array to method
  15.  
  16. }
  17. }
  18. Java

执行上面代码,得到以下结果 -


java中的多维数组

在这种情况下,数据存储在基于行和列的索引(也称为矩阵形式)中。在Java中声明多维数组的语法。

  1. dataType[][] arrayRefVar; (or)
  2. dataType [][]arrayRefVar; (or)
  3. dataType arrayRefVar[][]; (or)
  4. dataType []arrayRefVar[];
  5. Java

在java中实例化多维数组的示例

  1. int[][] arr=new int[3][3];//3 row and 3 column
  2. Java

在java中初始化多维数组的示例

  1. arr[0][0]=1;
  2. arr[0][1]=2;
  3. arr[0][2]=3;
  4. arr[1][0]=4;
  5. arr[1][1]=5;
  6. arr[1][2]=6;
  7. arr[2][0]=7;
  8. arr[2][1]=8;
  9. arr[2][2]=9;
  10. Java

多维java数组示例

让我们来看看一个简单的例子来声明,实例化,初始化并打印二维数组。

  1. class Testarray3 {
  2. public static void main(String args[]) {
  3.  
  4. // declaring and initializing 2D array
  5. int arr[][] = { { 1, 2, 3 }, { 2, 4, 5 }, { 4, 4, 5 } };
  6.  
  7. // printing 2D array
  8. for (int i = 0; i < 3; i++) {
  9. for (int j = 0; j < 3; j++) {
  10. System.out.print(arr[i][j] + " ");
  11. }
  12. System.out.println();
  13. }
  14.  
  15. }
  16. }
  17. Java

执行上面代码,得到以下结果 -

  1. 1 2 3
  2. 2 4 5
  3. 4 4 5
  4. Java

java数组的类名是什么?

在java中,数组是一个对象。 对于数组对象,创建一个代理类,其名称可以通过对象上的getClass()getName()方法获取。

  1. class Testarray4 {
  2. public static void main(String args[]) {
  3.  
  4. int arr[] = { 4, 4, 5 };
  5.  
  6. Class c = arr.getClass();
  7. String name = c.getName();
  8.  
  9. System.out.println(name);
  10.  
  11. }
  12. }
  13. Java

执行上面代码,得到以下代码 -

复制java数组

可以通过System类的arraycopy方法将数组复制到另一个数组。

arraycopy方法的语法

  1. public static void arraycopy(
  2. Object src, int srcPos,Object dest, int destPos, int length
  3. )
  4. Java

arraycopy方法的示例

  1. class TestArrayCopyDemo {
  2. public static void main(String[] args) {
  3. char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' };
  4. char[] copyTo = new char[7];
  5.  
  6. System.arraycopy(copyFrom, 2, copyTo, 0, 7);
  7. System.out.println(new String(copyTo));
  8. }
  9. }
  10. Java

执行上面代码,得到以下代码 -

在java中添加2个矩阵

让我们来看看一个简单的例子,添加两个矩阵。

  1. class Testarray5 {
  2. public static void main(String args[]) {
  3. // creating two matrices
  4. int a[][] = { { 1, 3, 4 }, { 3, 4, 5 } };
  5. int b[][] = { { 1, 3, 4 }, { 3, 4, 5 } };
  6.  
  7. // creating another matrix to store the sum of two matrices
  8. int c[][] = new int[2][3];
  9.  
  10. // adding and printing addition of 2 matrices
  11. for (int i = 0; i < 2; i++) {
  12. for (int j = 0; j < 3; j++) {
  13. c[i][j] = a[i][j] + b[i][j];
  14. System.out.print(c[i][j] + " ");
  15. }
  16. System.out.println();// new line
  17. }
  18.  
  19. }
  20. }
  21. Java

执行上面代码,得到以下代码 -

  1. 2 6 8
  2. 6 8 10
  3. Java