集合框架 set list
集合框架
功能框架,只是一種結構
collection
List Set
List 經常用到的ArrayList LinkedList
ArrayList 數組列表:
下標 長度
從構造器來分析 ArrayList初始容量為10
後續添加數據的過程中會繼續拓展式增加當前的容量
add(E e) 添加 E代表什麽?E代表著所有的數據類型
ArrayList list = new ArrayList();
list.add(1);
list.add(true);
list.add("String");
list.add(‘A‘);
System.out.println(list.size());
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
ArrayList 獲取數據的時候是使用的隨機抽取機制來獲得數據的
查詢的速度 快
對數據操作起來 慢
LinkedList 鏈表
既然是鏈表那麽就會讓所有的數據連接在一起
鏈表上的每個元素都會記載著後一個元素的存儲地址
查詢的速度 慢
修改數據 快
http://blog.csdn.net/i_lovefish/article/details/8042883
Set 常用的hashSet TreeSet
Set會去掉重復放入值
HashSet集合中不可存入相同的數據但是可以存放NUll值
TreeSet集合是有序的排列(自然順序)中不允許存放null值會報空指針
Map 獨立的
key-value 是按照鍵值對的形式存儲的
key不可重復 看最後一個key來決定其中要存儲的是誰
key值不好獲取,但是key相當於我們日常中排序
value的獲取方式有兩種:
直接將map轉化稱Set 叠代所有的key和value
直接使用collection視圖來獲取當前所有的value
list set map
list最為方便 set需要叠代器 map還需要轉化
collection 和 collections
前一個是接口 後一個是實用類 實用類是專門對集合進行操作的
泛型
就是針對於引用類型再次添加上一個特殊的參數
泛型用的地方用的最多的是集合
提供了一個向上轉型和向下轉的安全機制
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
for (Integer a : list) {
System.out.println(a);
}
List<E> list = new ArrayList<E>();
實用了泛型就可以使用增強型for循環
不用再編寫那麽多的條件和初始化定義變量
集合框架 set list