如果我有一个通用列表,并且删除了位置2的项目,这是否意味着位置3和4的项目向下移动,或者这意味着该位置的值为空?
如果它确实获得了一个空值,那么将有一个像这样的集合吗?队列会工作吗?
我正在尝试获取它,以便获得一个收藏夹,当一个收藏夹删除了位置较高的东西时,向下移动以填补空白。
在C#中
从列表中删除项目时,列表不存储空值,而是移动所有现有项目。
例如
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}
List<T>
是通过保存列表值的数组(T[]
)实现的。每次删除一个元素(不在最后位置)时,列表都会在所有要删除的元素之后向左移动。如果打算使用Remove操作,通常考虑使用链表,对于常规List<T>
实现,链表的复杂度为O(1)而不是O(n)。
使用List<T>
和List<T>
方法进行删除。