如何在java中实现原始数组?

max*_*mus 1 java arrays algorithm

在SO上有几个与此类似的问题,但它们并没有完全回答代码实现的内容.我看了看

为什么没有java.lang.Array类?如果java数组是一个Object,它不应该扩展Object吗?

如何在java中实现数组?

他们没有回答具体实施的内容.

我已经从OpenJDK下载了java源码,我真的找不到我想要的东西.(也许这部分代码是专有的?)

  1. 如何进行追加/插入?
  2. 如何检索数据?例如,如果我调用my_arr[500]实现的算法来获取索引500处的值?
  3. 如何删除?

提前致谢!

Tom*_*ine 6

阵列上没有附加,插入或删除.

的地址my_arr[500]在一个合理的实现将是对象的基地址,再加上一个小的偏移用于报头,加上该阵列元件的大小500次.显然你需要进行范围检查 - 偏移需要是非负的并且小于数组的长度(存储在标题中).