java能否保留原内存地址的情况下完成数组扩容?

java 数组扩容,一般都是新建一个数组,然后把原来的数组数据放进去,完成扩容,但是这样的话,数组的内存地址就不一样了,现在想问下,有没有办法,保留原内存地址的情况下完成扩容+1。

有什么问题是list和map解决不了?

不能,arrayList的底层也是这么做的。不过arrayList的地址不会变,但是内部的elementData地址会变

如果真的想实现的话 那么就把扩容的部分new一个新的数组,然后把两个数组都放到一个list里

然后写个方法

String get(int index) {
    for(String[] item:list){
        if(index > item.length - 1) {
            index = index - item.length
        } else {
            return item[index]
    }
    return null;
}

意思大概这个意思,因为有先后顺序,list可以使用linkedList
这样扩容就不影响你原来数组的内存空间了