关于java数组的问题,怎么在已经定义了的有顺序的数组中添加元素;

请问:现有一个有序的数组,现在想要将一个元素插入到该数组中去,还要保证该数组是有序的;
因为数组长度一旦确定就不能改变,但是我想知道,有没有一种方法可以增加数组的长度并且按照合法的顺序添加元素。length变为length+1;
![图片说明](https://img-ask.csdn.net/upload/201609/29/1475130773_864223.jpg)图片说明

图片说明

数组元素添加完成后“效果应该是:[11,22,33,44,56,78,99,100,102]”

不建议对数组进行添加和删除操作,效率很低。正常情况下没有这样搞的

使用Linklist,也就是链表,直接插入就行;链表长度可以随意更改,适用于,插入删除操作多的情况(效率比数组高很多,不会有空间浪费),定长数组适用于查找多的情况,效率比链表高

有序的数组 和List有什么区别呢

public class kk {

public static void main(String[] args) {
    int[] hu={11,22,33,44,55,66,77,88};
    int i;
    ArrayList<String> xinde= new ArrayList<String>();
    xinde=insert(hu,47);
    System.out.println("旧数组"+hu.length);
    System.out.println("新数组"+xinde.size());
    for(i=0;i<xinde.size();i++){
        System.out.print(xinde.get(i)+",");
    }
}

public static ArrayList<String> insert(int[] arr, int key){
    ArrayList<String> jiude = new ArrayList<String>();
    int i;
    int j;
    for (i = 0; arr[i] < key; i++) {
        jiude.add(String.valueOf(arr[i]));
    }
    jiude.add(String.valueOf(key));
    for (j = i; j < arr.length; j++) {
        jiude.add(String.valueOf(arr[j]));
    }
    return jiude;
}

}