相关疑难解决方法(0)

何时在Java中使用LinkedList而不是ArrayList?

我一直只是一个人使用:

List<String> names = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

我使用接口作为可移植性的类型名称,因此当我问这些问题时,我可以重新编写代码.

何时应该LinkedList使用,ArrayList反之亦然?

java collections linked-list arraylist

2974
推荐指数
27
解决办法
102万
查看次数

如何将项目添加到List <T>的开头?

我想在绑定到a的下拉列表中添加"Select One"选项List<T>.

一旦我查询,我List<T>如何添加我的初始Item,而不是数据源的一部分,作为其中的FIRST元素List<T>?我有:

// populate ti from data               
List<MyTypeItem> ti = MyTypeItem.GetTypeItems();    
//create initial entry    
MyTypeItem initialItem = new MyTypeItem();    
initialItem.TypeItem = "Select One";    
initialItem.TypeItemID = 0;
ti.Add(initialItem)  <!-- want this at the TOP!    
// then     
DropDownList1.DataSource = ti;
Run Code Online (Sandbox Code Playgroud)

c# generic-list drop-down-menu

384
推荐指数
5
解决办法
19万
查看次数

阵列与列表的性能

假设您需要有一个需要经常迭代的整数列表/数组,我的意思是非常频繁.原因可能有所不同,但它说它是高容量处理的最内循环的核心.

通常,由于其大小的灵活性,人们会选择使用列表(列表).最重要的是,msdn文档声称列表在内部使用数组,并且应该执行速度快(使用Reflector快速查看确认这一点).不用说,有一些开销.

有没有人真正测量过这个?通过列表迭代6M次与阵列相同的时间?

.net arrays generics performance list

181
推荐指数
5
解决办法
15万
查看次数

使用LINQ将集合拆分为`n`部分?

有没有一种很好的方法可以n使用LINQ 将集合拆分为多个部分?当然不一定均匀.

也就是说,我想将集合划分为子集合,每个子集合包含元素的子集,其中最后一个集合可以是不规则的.

.net c# linq data-structures

121
推荐指数
6
解决办法
7万
查看次数

性能差异......如此戏剧化?

刚才我读了一些关于List<T>vs的帖子LinkedList<T>,所以我决定自己对一些结构进行基准测试.我为基准Stack<T>,Queue<T>,List<T>LinkedList<T>通过从前/结束添加数据和删除数据到/.这是基准测试结果:

               Pushing to Stack...  Time used:      7067 ticks
              Poping from Stack...  Time used:      2508 ticks

               Enqueue to Queue...  Time used:      7509 ticks
             Dequeue from Queue...  Time used:      2973 ticks

    Insert to List at the front...  Time used:   5211897 ticks
RemoveAt from List at the front...  Time used:   5198380 ticks

         Add to List at the end...  Time used:      5691 ticks
  RemoveAt from List at the end...  Time used: …
Run Code Online (Sandbox Code Playgroud)

.net c# collections data-structures

51
推荐指数
3
解决办法
3万
查看次数

List <T>和LinkedList <T>之间的区别

我们需要列表时使用List.我现在注意到有一个LinkedList.

我想知道这两个之间有什么区别,什么时候应该使用另一个.

c# c#-4.0

34
推荐指数
2
解决办法
3万
查看次数

list.RemoveAt(0)的通用列表有多贵?

C#,. NET4.

我们有一些性能关键代码导致一些问题.它是一种经过修改的队列,实际上是由List支持的.我想知道在索引0处删除元素是多么昂贵.想到的问题是:

  • 根据List的支持方式,在RemoveAt()之后是否会发生任何内存分配/解除分配以补偿列表的新大小?我知道,例如,调整阵列大小可能很昂贵(相对而言)
  • 我总是想象列表的行为类似于链表,这样在零位置删除一个元素就意味着只需将列表开头参考从前一个零元素调整到以前是第一个元素(但现在是第一个元素).但是,我的"想象力"和现实并不总是一致的.

我一直认为RemovedAt是O(1)的列表.是这样的吗?

.net c#

21
推荐指数
2
解决办法
9406
查看次数

有没有更好的方法来返回列表中的下一个项目并从头到尾循环?

我有以下不同字符串列表:

"A"
"B"
"C"

如果我想在A之后的项目,我得到B.在B之后,我得到C.在C之后,我得到A.目前我有以下代码,但由于某种原因,我觉得有一个更好的方法去做这(也许?).

private string GetNext(IList<string> items, string curr)
{
    if (String.IsNullOrWhitespace(curr))
        return items[0];

    var index = items.IndexOf(curr);
    if (index == -1)
        return items[0];

    return (index + 1 == items.Count) ? items[0] : items[index + 1];
}
Run Code Online (Sandbox Code Playgroud)

我绝对愿意采用LINQ式的方式来做这件事:)

c# linq enumeration list

8
推荐指数
2
解决办法
2555
查看次数

List <T>或LinkedList <T>

我需要一个包含相同类型元素列表的数据结构.需要的功能是

  • 的GetEnumerator
  • (可能)清楚

不需要索引访问,排序,搜索,删除元素.什么是最好的收藏类?应考虑以下几个方面:性能,内存使用情况,垃圾收集器的行为.

我目前的候选人是List<T>LinkedList<T>

.net algorithm collections data-structures

6
推荐指数
4
解决办法
1833
查看次数

ASP.NET C#列出哪些以及何时?

在C#中似乎有不少不同的列表.在我的头顶,我能够想出一对,但我相信还有更多.

List<String> Types = new List<String>();
ArrayList Types2 = new ArrayList();
LinkedList<String> Types4 = new LinkedList<String>();
Run Code Online (Sandbox Code Playgroud)

我的问题是,何时使用其中一个是有益的?

更具体地说,我从函数返回未知大小的列表,我想知道是否有一个更好的特定列表.

c# asp.net list

6
推荐指数
1
解决办法
1086
查看次数