1. 程式人生 > >集合框架 set list

集合框架 set list

添加數據 efi 我們 treeset get blog map for循環 還需

集合框架
功能框架,只是一種結構

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