android中arrylist插入数据到第一个位置

android中arrylist插入数据到第一个位置,第1张

如果arraylist不为null,则可以直接调用

add(0, element)

以下为Arraylist api26 源码

public void add(int index, E element) {

    if (index > size || index < 0)

        throw new IndexOutOfBoundsException(outOfBoundsMsg(index))

    ensureCapacityInternal(size + 1)  // Increments modCount!!

    System.arraycopy(elementData, index, elementData, index + 1,

                     size - index)

    elementData[index] = element

    size++

}

可以看到add方法会判断index不大于size,结合

add(0, element)

也就是size>=0,就会自动扩容,将旧的数据依次排到后面。

不能直接insert 比如这个对象是a

ArrayList list

//先找出这个对象的位置

int index = list.indexOf(a)

那么放到最后去应该这样做:

list.add(a)

list.remove(index)//放到最后

放到最前应该这样做:

Object o = list.get(0)//o是原来的首元素

list.set(0,a) //设置首元素为a

list.set(index,o)

* 添加元素

* public boolean add(E e)将指定的元素添加到此列表的尾部。

*public void add(int index,

E element)将指定的元素插入此列表中的指定位置。向右移动当前位于该位置的元素(如果有)以及所有后续元素(将其索引加 1)。

*

*/public class ArrayListDemo {

public static void main(String[] args) {

//创建集合对象

ArrayList<String>array=new ArrayList<String>()

//public boolean add(E e)将指定的元素添加到此列表的尾部

array.add("hello")

array.add("world")

array.add("money")

// public void add(int index,E element)将指定的元素插入此列表中的指定位置。向右移动当前位于该位置的元素(如果有)以及所有后续元素(将其索引加 1)。

array.add(1,"app")

System.out.println("array:"+array)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11648917.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存