在数组方法中的给定位置放置值?

时间:2015-02-14 17:36:35

标签: java arrays

我正在尝试创建一个方法,将给定值放在数组中的某个位置。

这是我的代码。增加的是一个使数组存储长度加倍的函数。

我的问题不在于增加功能。

我遇到的问题是,当我在索引中放置一个值时,先前删除的值是我想要保留的值,同时保留我放在索引中的值。 / p>

public void addLoc (int index , Object obj)
{
    if(store.length - size <=4)
    {
        store=increase(store);
    }
    store[index]=obj;
    size++;
}

说我的数组是

  

4 5 7 11 12 13

我说替换3号位置是什么,我得到

  

4 3 7 11 12 13

但我想要的是

  

4 3 5 7 11 12 13

3 个答案:

答案 0 :(得分:0)

尝试使您的方法基于<= 4数组,而不是使用幻数(store)。此外,您似乎正在尝试使该类自动扩展,如果您正在这样做,那么我认为您应该考虑使用Map而不是数组(如果我想要一个对象怎么办?在索引0和99999?)。

答案 1 :(得分:0)

使用System.arrayCopy将原始数组中的内容复制到新创建的(较大的)数组中。

答案 2 :(得分:0)

你说你的双数组大小有效,然后从你想要放置新元素的索引处开始,从那里开始并将所有内容移动到一个位置,然后将新元素添加到你想要的位置。