1、基于动态数组(如果在下标越界的时候,会新建一个数组,底层默认数组大小为10,将老数组内容存放到新数组中,扩容机制为1.5倍),连续的内存地址,适合下标访问。
2、适合做查询,不适合做插入和查询。
3、使用尾插法,并指定初始数组容量可提高性能。
1、基于链表,可以分散的存储在内存中。
2、适合做数组插入和删除,不适合做查询。
3、遍历只可以使用迭代器,和强制for,不可以使用for循环,因为每次for循环体内取得get(i)取得某一元素时都需要对list重新遍历,性能消耗极大。
4、另外不要试图使用indexOf等返回元素索引,并利用其进行遍历,当结果为空时,会对遍历整个列表。