C#容器IList<T>在开头插入数据?

C#容器IList<T>在开头插入数据?,第1张

你有一点误解,Dictionary在内部存储的时候是贺帆HashTable,本来就没有“顺序”的概念,何来“开头”或index呢?

而List<T>如你答拍梁所愿,本来就有Insert(int index, T item)这个重载。清运

如果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,就会自动扩容,将旧的数据依次排到后面。


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

原文地址: https://outofmemory.cn/bake/8037230.html

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

发表评论

登录后才能评论

评论列表(0条)

保存