1、List集合java
1.List集合存储元素的特色:node
(1)有序(List集合中存储有下标):存进去是这样的顺序,取出来仍是按照这个顺序取出。ios
(2)可重复git
2.深刻ListJ集合github
ArrayList集合底层是数组,数组是有下标的;因此ArrayList集合有不少本身的特性;ArrayList集合底层默认初始化容量是10,扩大以后的容量是原容量的1.5倍;Vector集合底层默认初始化容量为10,扩大以后的容量是原容量的两倍算法
3.如何优化ArrayList和Vector数组
尽可能减小扩容操做,由于扩容须要数组拷贝,数组拷贝是很耗内存的,通常推荐在建立集合的时候指定初始化容量微信
package com.bjpowernode.java_learning; import java.util.*; public class D86_1_ListCollectionAnalysis { public static void main(String[] args) { //建立一个List集合 //Collection c = new ArrayList();//这样初始化一个列表编译没问题,可是咱们就不用能用List特有的方法了 List l = new ArrayList(); //List l = new LinkedList();//这两种初始化方式哪一种均可以,这就涉及到底层的数据结构问题了,可参见《算法》一书 //向列表的尾部添加元素 l.add(100); l.add(99); l.add(23); l.add(250); l.add("hiosaf"); //add(int index,E e)向指定位置插入e l.add(5,"jioasf"); System.out.println(l.get(1)); System.out.println("===================="); //遍历 Iterator it = l.iterator(); while(it.hasNext()) { System.out.println(it.next()); } //这也看出来,既可使用迭代器来遍历,也可使用get方法进行遍历 } }
2、源码:数据结构
D86_1_ListCollectionAnalysis.java学习
https://github.com/ruigege66/Java/blob/master/D86_1_ListCollectionAnalysis.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,我的公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料