为了账号安全,请及时绑定邮箱和手机立即绑定

数组与列表<T>:何时使用哪个?

数组与列表<T>:何时使用哪个?

呼如林 2019-06-13 17:04:31
数组与列表<T>:何时使用哪个?MyClass[] array;List<MyClass> list;当一种比另一种更可取时,情况是怎样的?为什么?
查看完整描述

3 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

真的,只是想添加一个我很惊讶还没有提到的链接:Eric‘s Lippert的博客文章“数组被认为是有害的。”

您可以从标题中判断,它建议在任何可行的地方使用集合-但正如Marc正确指出的那样,在很多地方,数组确实是唯一实用的解决方案。


查看完整回答
反对 回复 2019-06-13
?
慕的地10843

TA贡献1785条经验 获得超8个赞

在处理数据时使用数组,即:

  • 固定的大小,或不大可能增长
  • 适当的大(根据算法的不同,超过10,50,100元素)
  • 您将对其进行大量的索引,也就是说,您知道您经常需要第三个元素,或者第五个元素,或者其他什么内容。

使用列表用于:

  • 可变长度数据表
  • 主要用作堆栈或队列或需要整体迭代的
  • 当您不想编写一个表达式来导出声明的最终数组大小,并且不想浪费大量的数据时

使用hashmap用于:

  • 可变长度数据表
  • 需要像数组那样进行索引的

实际上,您几乎一直都需要一个列表或hashmap。下次您选择数据结构时,请考虑它必须为您做什么(或者您的代码)。然后在此基础上挑选一些东西。当有疑问时,选择一些尽可能一般的东西,即一个接口,您可以很容易地替换它的实现。其他答案中也有一些很好的链接。


查看完整回答
反对 回复 2019-06-13
  • 3 回答
  • 0 关注
  • 376 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信