C# C中的ArrayList与Java中的ArrayList是一个很好的等价物吗?

C# C中的ArrayList与Java中的ArrayList是一个很好的等价物吗?,c#,java,arraylist,C#,Java,Arraylist,我是C#的新手——在中代码不到50行 所以问题是C中的ArrayList是Java中ArrayList的一个很好的替代品 以下是我注意到的一些差异: C#中的ArrayList似乎不支持泛型——这让我感到惊讶,它让我相信我正在寻找一个更老的集合类 我似乎无法像在Java中那样使用set(index,value)就地替换元素 更令人困惑的是,要访问C#中的元素n,我必须使用数组访问器[n],而不是get(n) 进一步考虑,我可以使用[]访问c#中的元素,我不能将say myarraylist[n]

我是C#的新手——在中代码不到50行

所以问题是C中的ArrayList是Java中ArrayList的一个很好的替代品

以下是我注意到的一些差异:

  • C#中的ArrayList似乎不支持泛型——这让我感到惊讶,它让我相信我正在寻找一个更老的集合类
  • 我似乎无法像在Java中那样使用set(index,value)就地替换元素
  • 更令人困惑的是,要访问C#中的元素n,我必须使用数组访问器[n],而不是get(n)
  • 进一步考虑,我可以使用[]访问c#中的元素,我不能将say myarraylist[n]=“bla”
  • 因此,这让我相信我在这里遗漏了一些东西——也许是关于C#设计哲学的一些东西

    我试着在互联网上搜索C#和Java程序员,但我仍然没有很好的答案。

    用于泛型,这大致相当于Java
    ArrayList

    List(Of T)类是ArrayList类的泛型等价物。 它通过使用数组实现IList(Of T)通用接口 其大小会根据需要动态增加


    C#中的
    ArrayList
    是泛型之前时代的遗迹。您可能需要
    列表
    。底层实现是什么呢?它是一个链接入的数组。。。我可以调整一下吗?@JasonC,刚刚在我的回答中也添加了这个:)@Habib如果出于性能原因我需要底层实现,比如说LinkedList——比如说我的列表的大小会有很大的变化呢?@user1172468,然后您可以使用@user1172468-请记住,除非您有良好的分析表明它确实是收集算法的实现,而不是类中糟糕的设计,否则不应尝试您引用的那种性能优化。