Java数据结构和算法之Java数组

 

 

Java 中的数组

    
 在JAVA中 有两种数据类型 基本数据类型(int 和 double)和对象类型。
 数组是作为对象来处理。

数组的结构特性:
 优点:插入快,如果知道下标,可以非常快速的存取
 缺点:查找慢、删除慢,大小固定

 
有序数组:
 优点:比无序数组查找快
 缺点:删除和插入慢,大小固定
 
 
1、创建数组
 因为数组是作为对象来处理,所以创建一个数组也用 new 操作符号。
 如下:
  int [] intArray ;
  intArray = new int[10];
  
  或者
  int [] intArray = new int[10] ;

2、初始化数组
 如果不指定值赋给数组的数据项,那么他们就是0 ,例如我们用如下程序测试
  int [] intArray ;
  intArray = new int[10];

  for(int i = 0 ; i < intArray.length ;i++){
   System.out.println(intArray[i]);
  }
  打印结果 是 10 个0 ;
  我们可以通过指定下表的方式初始化,如
  intArray[0] = 2 ;
  intArray[1] = 2 ;
  intArray[2] = 3 ;

  
  数组还有有个极为简单的初始化方式,在你确定这个数组要装哪些数据的时候可以以如下方式:
  int [] intArray ={1,2,3,4,5} ;
  这个语句的意思就是  创建一个 5个长度的int 数组,按照下表 0,1,2,3,4分别赋值为 1,2,3,4,5
  相当于:
  int [] intArray = new int[5];
  intArray[0] = 1 ;
  intArray[1] = 2 ;
  intArray[2] = 3 ;
  ...
  
3、访问数组
 访问数组通过直接指定数组下标来访问。
 如:
 赋值

 intArray[0] = 1 ;
 int i = intArray[2] ;
 
 
4、数组的增删改查
 下面的程序简单的定义了数组的增删改查。

package test.array;

public class TestArray {

 
 public static void main(String[] args) {
  
  int intArray[] = new int[5];
  //数组初始化
  intArray[0] = 5 ;
  intArray[1] = 6 ;
  intArray[2] = 7 ;
  intArray[3] = 8 ;
  intArray[4] = 9 ;
  
  //
  int length = intArray.length;
  //数组遍历
  for(int i = 0 ;i <length; i++){
   System.out.println(intArray[i]);
  }
  //数组查询
  int searchKey = 8 ;
  for(int j = 0 ;j <length; j++){
   if( searchKey == intArray[j])
    System.out.println("key = " + searchKey +"\tindex = "+j);
  }
  
  //数组的修改
  intArray[2] = 70 ; 
  //数组删除:删除掉 int[?] = 8 的删除
  for(int k = 0 ;k <length; k++){
   if( searchKey == intArray[k]){
    for( ; k <length -1 ; k++){
     intArray[k] = intArray[k+1] ;
    }
    length -- ;
   }
  }
  //删除后遍历
  for(int i = 0 ;i <length; i++){
   System.out.println(intArray[i]);
  }
  
 }
 
 
}

 


 
5、注意事项:
 1)数组的开始下标为0
 2)length是数组的属性,不是数组的方法

 

 

附件是 测试程序 TestArray.java

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值