我想在一个定义好的数组后插入数据,怎么实现啊?谢谢啦!

解决方案 »

  1.   

    如果长度够的话直接在最后赋值啊,你还可以用arraylist,可变长的数组
      

  2.   

    int[]a = new int[]{8,9,3,1,19,30,40};和
    int[]a ={8,9,3,1,19,30,40};的声明是一样的吗?以上两种方式的长度已经固定了吗?
      

  3.   

    LinkedList:Jdk的链表容器,用来做数组的归并效率较高算法其实很简单,两个初始数组先大小排序(Arrays.sort()),然后遍历其中一个数组,对该数组中的每次遍历的元素在另外一个数组中找,直到找到有比它大的,则将其放入另外一个数组的该位置
      

  4.   

    JDK 提供的库:
    System 类的
    arraycopy 函数,
    ArrayList 源码最终还是用的这个,Java开源 自己进去看看把
      

  5.   

    定义一个hashset的对象,遍历两个数组,将两个数组的内容都添加到hashset对象中。最后hashset的对象就是两个结合的并集。因为,hashset中的元素是唯一的,重复的数据是插不进去的。注:参照hashset的add方法
      

  6.   

    用ArrayList保存的话,就不用管长度咯~~
      

  7.   

    给你一段数组动态增长的例子:
    int[] a = new int[]{1,2,3,4,5}; //原始数组
    int[] tmp = new int[a.length + 1]; //临时数组,用于保存追加后的数组
    System.arraycopy(a, 0, tmp, 0, a.length); //数组复制
    tmp[a.length] = 6; //追加一个新元素
    a = b; //将追加过元素的数组赋值给原数组,使原数组的长度增加1个单位
      

  8.   

    这是代码:还是有点问题,帮忙修改下:
    public class Unition {
    public static void main(String []args) {
    int[]a = new int[]{8,9,3,1,19,30,40};
    int[]b = {4,10,7,8,9,3,1};


    for(int i=0;i<b.length;i++) {
    for(int j=0;j<a.length;j++) {
    if(b[i]!=a[j])
    {
                              int[]tmp= new int[a.length + 1];
                              tmp[a.length] = b[i]; //追加一个新元素
                                  System.arraycopy(a, 0, tmp, 0, a.length-1); //数组复制
                                  a = tmp; //将追加过元素的数组赋值给原数组,使原数组的长度增加1个单位
    }
    }   
    }

    for(int k=0;k<a.length;k++) {
    System.out.print(a[k]+" ");
    }
    }
    }