删除收藏夹中的项目[关闭]

问题描述 投票:0回答:3

如果我有一个通用列表,并且删除了位置2的项目,这是否意味着位置3和4的项目向下移动,或者这意味着该位置的值为空?

如果它确实获得了一个空值,那么将有一个像这样的集合吗?队列会工作吗?

我正在尝试获取它,以便获得一个收藏夹,当一个收藏夹删除了位置较高的东西时,向下移动以填补空白。

在C#中

c# list collections mutable
3个回答
0
投票

从列表中删除项目时,列表不存储空值,而是移动所有现有项目。

例如

List<int> intList = new List<int>();
intList.Add(10);
intList.Add(20);
intList.Add(30);
intList.Add(40);
intList.Add(50);

现在intList将具有{10,20,30,40,50}删除30

intList.Remove(30);

现在intList将具有{10,20,40,50}


0
投票

List<T>是通过保存列表值的数组(T[])实现的。每次删除一个元素(不在最后位置)时,列表都会在所有要删除的元素之后向左移动。如果打算使用Remove操作,通常考虑使用链表,对于常规List<T>实现,链表的复杂度为O(1)而不是O(n)。


-2
投票

使用List<T>List<T>方法进行删除。

© www.soinside.com 2019 - 2024. All rights reserved.