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.歡迎關注微信公衆號:傅里葉變換,我的公衆號,僅用於學習交流,後臺回覆」禮包「,獲取大數據學習資料