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

java中的数组可不可以动态分配

怎样用java写一个线性表类,实现插入删除,插入新元素的过程中,数组越界后,怎样才能像c那样在申请一块空间来增加原数组的空间大小。 --------------------编程问答-------------------- 二叉树满足不  --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 用ArrayList --------------------编程问答--------------------
引用 3 楼 huxiweng 的回复:
用ArrayList

+1版主大人我投了你一票 --------------------编程问答-------------------- ArrayList<>泛型数组,可以随着元素的增长自动扩展。 --------------------编程问答--------------------
private byte[] addCapacity(byte rece[]){ 
        byte temp[] = new byte[rece.length+1024]; 
        System.arraycopy(rece,0,temp,0,rece.length); 
        return temp; 
    } 

这个如何 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 这种问题可以参考看一下ArrayList或者Vector是怎么扩展的,看源码吧 --------------------编程问答-------------------- String cmds[] = new String[] {};
cmds = (String[]) ArrayUtils.add(cmds, "--username");
cmds = (String[]) ArrayUtils.add(cmds, "--username");
cmds = (String[]) ArrayUtils.add(cmds, "--username");
cmds = (String[]) ArrayUtils.add(cmds, "--username");
cmds = (String[]) ArrayUtils.add(cmds, "--username"); --------------------编程问答-------------------- 推荐你用ArrayList,动态扩展。 --------------------编程问答-------------------- JLS推荐使用ArrayList,可以实现动态扩展。 --------------------编程问答--------------------
引用 8 楼 u012480848 的回复:
这种问题可以参考看一下ArrayList或者Vector是怎么扩展的,看源码吧
该怎么看呢 --------------------编程问答--------------------
引用 6 楼 UDBuilder 的回复:
private byte[] addCapacity(byte rece[]){ 
        byte temp[] = new byte[rece.length+1024]; 
        System.arraycopy(rece,0,temp,0,rece.length); 
        return temp; 
    } 

这个如何
能简单的解释一下大概的意思吗,谢谢啦 --------------------编程问答-------------------- java数组声明之后不能动态扩展,想要扩展就是声明一个新的数组(更大的,长度翻倍)然后把新的数组给考进去,再把引用给指向这个新的数组的地址。也就是6楼的做法。 --------------------编程问答-------------------- 其实楼主的问题很经典,答案就是可以用reflect解决,参加《java精通》书上的例子。 --------------------编程问答--------------------
引用 15 楼 Gaowen_HAN 的回复:
其实楼主的问题很经典,答案就是可以用reflect解决,参加《java精通》书上的例子。
哦,谢谢,我去搜搜看 --------------------编程问答-------------------- ArrayList?应该是LinkedArrayList --------------------编程问答-------------------- 看 ArrayList怎么实现自动增长吧,先另外开辟一个更大的数组,然后将原数组元素复制进去。。。。 --------------------编程问答-------------------- 楼上的大侠们给出答案看来ArrayList还有大有前途的 --------------------编程问答-------------------- ArrayList用来动态插入的开销感觉比LinkedList大,所以推荐楼主用一下LinkedList --------------------编程问答-------------------- Java那么多集合类,你参考一个实现不就行了?看看这篇文章,关于Java集合类的。http://blog.csdn.net/zhangerqing/article/details/8122075 --------------------编程问答-------------------- ArrayList很好用
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,