Java数组

     数组:在连续的内存空间,存储一组相同类型的元素。

     区分:数组访问和数组搜索

                数组访问是通过索引位置取得某个元素的值,而数组搜索是直接找这个数。

       我们所定义的局部变量都存在于栈中,而堆中存放的都是数组和对象(数组本身也是对象)。凡是new建立的都是在堆中的,堆中存放的都为对象实体。实体可以看到多个属性,如果一个数据消失,这个实体并未消失,则还可以使用,则堆是不会释放的。但是栈却不一样,栈中存放的都是单个变量,变量释放了,那就没有了。

例:

    ①s = new int [5];

                

②int [][] a = new int [3][4];

                

 a.length=3   a[0].length=4

多维数组也有length,但是他只表示第一维数组的长度。

 数组的基本操作:

    ①访问Access

    ②搜索Search

    ③插入Insert

    ④删除Delete

常用操作:

    <1>创建数组

            ①声明数组:

                       type [] arrayName ; 或者 type arrayName [] ;

            ②初始化(3种方法):

                  (1) arrayName = new type[] {element1,element2,element3,···};

                  (2) arrayName = new type[length];

                        arrayName[0] =element1;

                        arrayName[1] =element2;

                        arrayName[2] =element3;

                        ···

                  (3) arrayName = {element1,element2,element3,···};

    <2>向数组中添加元素   

           数组长度是固定不变的,我们不能直接在元素组上添加元素。因此,我们可以利用以下几种方法实现向数组中添加元素:

            ①重新创建一个新的数组,该数组长度为array.length+1,再将原数组中的元素copy到新数组中,并且在最后也将要添加的元素放入到原数组中。

                

                

            ②可以利用动态数组ArrayList,利用add()来实现:

               

                

             ③可以将array先转化为list,用list的add()方法来添加元素,再将list转化为array。请注意:在将array转化为list的过程中,使用的asList()方法会返回一个final的固定长度的ArrayList类,并不是java.util.ArrayList,直接这样利用它进行add()是无效的。

               

                

     <3>访问数组中的元素(通过索引取得某个元素的值)

              //数组名称 [索引值]

               

               

      <4>修改数组中的元素

               

               

       <5>删除数组中的元素:

              与向数组中添加元素不能直接添加元素的原因相同。

            ①新建立一个数组newArray,将不是要删除的元素copy到新的数组中,从而实现数组元素的删除。

            ②利用动态数组ArrayList,使用remove()实现。

             

             

    

        <6>遍历数组:

            ①传统遍历方式for循环

            

             ②foreach循环

            

            

             ③利用Arrays类中的toString()方法

           

           

        <7>查找数组元素:

            ①传统查找方式for循环

          

          

              ②利用折半查找(前提数组为有序)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                 

   

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值