当前位置:编程学习 > JAVA >>

数组

   数组是一组具有相同数据类型的序列。这数据类型可以是基本数据类型,也可以是自定义数据类型。数组是一种常见的数据结构,是基于顺序存储结构实现。它遍历简单有效,但是数组的大小是固定的,同时,对数组进行删除和插入等操作效率较低。

   Java语言中,数组很是重要。Java数组内的元素可以是基本数据类型,也可以对象引用类型。根据数组的维数可以划分为一维数组、二维数组和易做图数组。实际上二维数组就是一维数组的数组,而易做图数组依次类推。因而,认识和理解一维数组尤为关键。

   1.一维数组的创建、初始化与应用

    一维数组表示一维空间的数组,通过整型标签可以访问数组中的每个元素。

   一维数组的创建,语法格式如下:

   数组类型[] 数组名;

   或者

   数组类型 数组名[];

   建议采用第一种创建数组的方式。

   需要维数组分配内存空间的语法格式如下:

   数组名 = new 数组类型[数组长度];

   创建数组后,需要对数组进行初始化,数组初始主要有如下方式:

[java]
int[] arr = {1,2,3,4,5};//数组初始化第一种方式 
int[] arr = new int[]{1,2,3,4,5};//数组初始化第二种方式 
或者 
int[] arr = new int[5]; 
arr[0] = 1; 
arr[1] = 2; 
arr[2] = 3; 
arr[3] = 4; 
arr[4] = 5; 
  创建和初始化数组,就可以对数组进行一些操作和应用。

  应用一:如何遍历数组中的内容?

  遍历数组的内容就是访问并且输出数组中的内容,实例代码如下:

[java] 
/**
 *<p>Title:遍历一维数组实例</p>
 *<p>Description:遍历一维数组的内容</p>
 *<p>Copyright:Copyright(c) 2012</p>
 *<p>Filename:PrintArray1Content.java</p>
 *@author 王路情
 *@version 1.0
 */ 
 
public class PrintArray1Content { 
 /**
  *方法描述:主方法
  *输入参数:String[] args
  *返回类型:void 
  */ 
 public static void main(String[] args) { 
  int[] arr1 = new int[]{1,2,3,4,5}; 
  System.out.println("访问并输出一维数组的内容:"); 
  for(int index=0;index<arr1.length;index++) { 
   System.out.print(arr1[index] + "  "); 
  } 
  System.out.println(); 
 } 

运行结果如下所示:

访问并输出一维数组的内容:

1  2  3  4  5

应用二:如何全部复制数组中的内容?

在此,介绍几种常用的方法。

第一种方法:利用遍历实现复制

[java]
/**
 *<p>Title:全部复制一维数组内容实例</p>
 *<p>Description:采用遍历全部复制一维数组内容</p>
 *<p>Copyright:Copyright(c) 2012</p>
 *<p>Filename:CopyArray1Way1.java</p>
 *@author 王路情
 *@version 1.0
 */ 
 
public class CopyArray1Way1 { 
 /**
  *方法描述:主方法
  *输入参数:String[] args
  *返回类型:void 
  */ 
 public static void main(String[] args) { 
  int[] arr1 = new int[]{1,2,3,4,5}; 
  int[] arr2 = new int[arr1.length]; 
   
  //全部复制一维数组的内容 
  for(int index=0;index<arr1.length;index++) { 
   arr2[index] = arr1[index]; 
  } 
 
  System.out.println("访问并输出一维数组的内容:"); 
  for(int index=0;index<arr2.length;index++) { 
   System.out.print(arr2[index] + "  "); 
  } 
  System.out.println(); 
 } 

运行结果如下所示:

访问并输出一维数组的内容:

1  2  3  4  5

第二种方法:利用Arrays类的copyOf()或copyOfRange()方法

[java] 
import java.util.Arrays; 
 
/**
 *<p>Title:全部复制一维数组内容实例</p>
 *<p>Description:采用遍历全部复制一维数组内容</p>
 *<p>Copyright:Copyright(c) 2012</p>
 *<p>Filename:CopyArray1Way2.java</p>
 *@author 王路情
 *@version 1.0
 */ 
 
public class CopyArray1Way2 { 
 /**
  *方法描述:主方法
  *输入参数:String[] args
  *返回类型:void 
  */ 
 public static void main(String[] args) { 
  int[] arr1 = new int[]{1,2,3,4,5}; 
  //利用Arrays类中的copyOf()方法实现复制数组全部内容 
  int[] arr2 = Arrays.copyOf(arr1,arr1.length); 
  //利用Arrays类中的copyOfRange()方法实现复制数组全部内容 
  int[] arr3 = Arrays.copyOfRange(arr1,0,arr1.length); 
   
  System.out.println("使用Arrays类copyOf()方法实现复制数组全部内容:"); 
  for(int index=0;index<arr2.length;index++) { 
   System.out.print(arr2[index] + "  "); 
  } 
  System.out.println(); 
 
  System.out.println("使用Arrays类copyOfRange()方法实现复制数组全部内容:"); 
  for(int index=0;index<arr3.length;index++) { 
   System.out.print(arr3[index] + "  "); 
  } 
  System.out.println(); 
 } 

运行结果如下所示:
使用Arrays类copyOf()方法实现复制数组全部内容:

1  2  3  4  5

使用Arrays类copyOfRange()方法实现复制数组全部内容:

1  2  3  4  5

第三种方法:利用System类的arraycopy()方法

[java] 
/**
 *<p>Title:全部复制一维数组内容实例</p>
 *<p>Description:采用System类的arraycopy()全部复制一维数组内容</p>
 *<p>Copyright:Copyright(c) 2012</p>
 *<p>Filename:CopyArray1Way2.java</p>
 *@author 王路情
 *@version 1.0
 */ 
 
public class CopyArray1Way3 { 
 /**
  *方法描述:主方法
  *输入参数:String[] args
  *返回类型:void 
  */ 
 public static void main(String[] args) { 
  int[] arr1 = new int[]{1,2,3,4,5}; 
  int[] arr2 = new int[arr1.length]; 
 
  //利用System类中的arraycopy()方法实现复制数组全部内容 
  System.arraycopy(arr1,0,arr2,0,arr1.length); 
   
   
  System.out.println("使用System类arraycopy()方法实现复制数组全部内容:"); 
  for(int index=0;index<arr2.length;index++) { 
   System.out.print(arr2[index] + "  "); 
  } 
  System.out.println(); 
 } 
运行结果如下所示:

使用System类arraycopy()方法实现复制数组全部内容:

1  2  3  4  5

   2.二维数组简介

   二维数组实际上是一维数组的数组。二维数组的创建、初始化和应用可以类比一维数组。

  例如二维数组的创建及初始化如下:

[java] 
int[][] arr = ]{{1,2},{3,4}};//二维数组的创建及初始化 
或者 
int[][] arr = new int[][]{{1,2},{3,4}};//二维数组的创建及初始化 
二维数组的遍历,代码如下:

[java]
/**
 *<p>Title:遍历二维数组实例</p>
 *<p>Descri

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,