List
<T>是
C#
中使用非常频繁的一种数据结构,我习惯称之为“列表”!
前面整理了一下数组的用法,我们可以发现数组有一个致命的缺陷,那就是固定长度,这就导致了数组的使用范围比较有限。
List
<T> 和Array
List
就解决了这个问题,这两种数据结构本质上都是数组,但他们是“动态数组”,长度可变!
不过Array
List
是属于被抛弃的那种,一般都不怎么被使用的,Why?
因为Array
List
有一个骚操作,就是会把所有
元素
都当做Object处理,...
当我们有很多类型一样的数据时,可以使用数组来进行存储并管理,但是这样的缺点是数组的大小是提前给定的、是固定的。
如果我们有许多类型一样但数量不定的数据,我们可以使用集合类来进行管理——例如列表
List
。我们可以使用列表
List
很方便的添加数据,删除数据以及其他的一些数据操作。
创建
方法
1:
List
<int> score
List
= new
List
&...
对象初始值设定项
使用对象初始值设定项,你可以在创建对象时向对象的任何可访问字段或属性分配值,而无需调用后跟赋值语句行的构造函数。 利用对象初始值设定项语法,你可为构造函数指定参数或忽略参数(以及括号语法)。
以下示例演示如何使用具有命名类型 Cat 的对象初始值设定项以及如何调用默认构造函数。
class Cat
// Auto-implemented pr...
Array
List
list
= new Array
List
();
String str01 = String("str01");
String str02 = String("str02");
list
.add(str01);
list
.add(str02);
Array
List
list
= new Array
List
...
上面的代码是从System.Collections.Generic下扒出来的,我们看第一个图片中的代码 private const int _defaultCapacity = 4;这里我们可以看到,当我们不设置
list
的初始大小时默认会设置为4,并且可以看出来,
list
内部是以数组的方式进行存储的,
我们来看第二张图片的算法,这个就是
list
扩容的算法,当数据长度大于
初始化
长度时,
list
会每次将数组长度*2,就是扩大到原来的两倍,并且在扩容后会将原始的数据复制到新的内存空间中。
第三张图的算法从名字我们
文章目录1.构造
List
后使用
List
.add
初始化
2.使用 {undefined{}} 双括号语法3.使用 Arrays.as
List
4. 使用 Stream (JDK8)5. 使用
List
s (JDK9)
1.构造
List
后使用
List
.add
初始化
List
<String> string
List
= new Linked
List
<>();
string
List
.add("a");
string
List
.add("b");
string
List
.add("c");