集合的體系:
----------| Collection 單列集合的根接口
----------------| List 如果實作了List接口的集合類,具備的特點: 有序,可重複。
--------------------| ArrayList ArrayList 底層是維護了一個Object數組實作 的, 特點: 查詢速度快,增删慢。
什麼時候使用ArrayList: 如果目前的資料是查詢比較多,增删比較少的時候,那麼就使用ArrayList存儲這批資料。 比如 :高校的 圖書館
--------------------| LinkedList LinkedList底層是使用了連結清單資料結構實作的, 特點: 查詢速度慢,增删快。
--------------------| Vector(了解即可)
----------------| Set 如果實作了Set接口的集合類, 具備的特點: 無序,不可重複。
Linkedlist特有的方法:
1:方法介紹
getFirst()
getLast()
removeFirst()
removeLast()
2:資料結構
1:棧 (1.6) : 主要是用于實作堆棧資料結構的存儲方式。
先進後出
push()
pop()
2:隊列(雙端隊列1.5): 主要是為了讓你們可以使用LinkedList模拟隊列資料結構的存儲方式。
先進先出
offer()
poll()
3:傳回逆序的疊代器對象
descendingIterator() 傳回逆序的疊代器對象
package cn.itcast.list;
import java.util.Iterator;
import java.util.LinkedList;
/*
集合的體系:
----------| Collection 單列集合的根接口
----------------| List 如果實作了List接口的集合類,具備的特點: 有序,可重複。
--------------------| ArrayList ArrayList 底層是維護了一個Object數組實作 的, 特點: 查詢速度快,增删慢。
什麼時候使用ArrayList: 如果目前的資料是查詢比較多,增删比較少的時候,那麼就使用ArrayList存儲這批資料。 比如 :高校的 圖書館
--------------------| LinkedList LinkedList底層是使用了連結清單資料結構實作的, 特點: 查詢速度慢,增删快。
--------------------| Vector(了解即可)
1:方法介紹
addFirst(E e)
addLast(E e)
getFirst()
getLast()
removeFirst()
removeLast()
2:資料結構
1:棧 (1.6) : 主要是用于實作堆棧資料結構的存儲方式。
先進後出
push()
pop()
2:隊列(雙端隊列1.5): 主要是為了讓你們可以使用LinkedList模拟隊列資料結構的存儲方式。
先進先出
offer()
poll()
3:傳回逆序的疊代器對象
descendingIterator() 傳回逆序的疊代器對象
*/
public class Demo8 {
public static void main(String[] args) {
LinkedList list= new LinkedList();
list.add("張三");
list.add("李四");
list.add("王五");
/*
list.addFirst("狗娃"); //把元素添加到集合的首位置上。
list.addLast("狗剩"); //把元素添加到集合的末尾處。
System.out.println("擷取集合中首位置的元素:"+list.getFirst());
System.out.println("擷取集合中末尾的元素:"+ list.getLast());
System.out.println("删除集合中的首位置元素并傳回:"+ list.removeFirst());
System.out.println("删除集合中的末尾素并傳回:"+ list.removeLast());
list.push("狗娃"); //将該元素插入此集合的開頭處。
System.out.println("删除集合的首元素:"+list.pop()); // 移除并傳回集合中的第一個元素
list.offer("狗剩");
System.out.println("删除集合的首元素: "+list.poll());
System.out.println("集合中的元素:"+ list);
*/
Iterator it = list.descendingIterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
需求:使用LinkedList存儲一副撲克牌,然後實作洗牌功能。
52張牌。
一張撲克牌:花色、點數。。例如:梅花6