0
如果我没有错Generic集合存储特定类型的对象。
例如,List<String>
仅存储String类型的对象。
另外String[] arr = new String[size]
存储String类型的对象。
两者都支持IEnumerable
接口。
所以我想知道泛型集合和特定类型的数组之间的区别。泛型集合与特定数据类型数组的区别
如果我没有错Generic集合存储特定类型的对象。
例如,List<String>
仅存储String类型的对象。
另外String[] arr = new String[size]
存储String类型的对象。
两者都支持IEnumerable
接口。
所以我想知道泛型集合和特定类型的数组之间的区别。泛型集合与特定数据类型数组的区别
array
是固定大小。您可以预先确定尺寸,就是这样。像List<T>
这样的集合是可变大小的。它支持添加和删除集合中的项目。在幕后,List<T>
使用array
来存储项目。它足够聪明,可以根据需要重新调整array
的大小。
所以你不应该考虑泛型vs数组,但收集与数组。也有非通用数组,但是你很少使用这些数组。
你可以找到List<T>
here的文档。
这是关于你想如何使用它。阵列显然更紧凑(占用更少的空间),但也不太灵活。您可以将任何内容转换为任何内容,但转换需要时间和内存。如果你希望有像'insert','add','delete','sort'这样的操作,然后使用'List <>'。如果你的优先级是按键查找,那么两者都不好(例如使用'Hashtable')。数组很适合保存固定大小的数据(例如,组织循环缓冲区)或优化大小(内存)。 – Sinatr