Java语言怎么实现数组的变量的提取和长度的改变呢?

Java语言怎么实现数组的变量的提取和长度的改变呢?
有人说可以改变,有人说不可以,具体怎么改变

数组长度改变,主要用了数组拷贝,比如之前长度16,如果此时长度超过16后,会从新申请一段长度,(比如)32的数组,并且将之前数组中的内容,copy到现在数组长度为32中

一般使用list、set之类的集合存放值,长度不固定,可随便插入值