1. 程式人生 > >java 集合(三)List介面

java 集合(三)List介面

package cn.sasa.demo1;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class ListDemo {
    public static void main(String[] args) {
        
        //Collection<String> testColl = new ArrayList<String>();
        //testColl.add("qqq");
        //speak(testColl);
//報錯,因為testColl裡的元素不是Animal的子類 //List介面的特點: //有序(存的順序是怎樣的,取出的順序也是怎樣的) //有索引 //可以存重複元素 //List介面的常用子類:ArrayList/LinkedList //ArrayList底層採用陣列結構,查詢快,增刪慢,增刪會開闢新陣列,把原陣列的元素copy到新陣列中 //LinkList底層採用連結串列結構,增刪快,查詢慢,每次查詢從鏈頭或鏈尾查起 //LinkList查詢的元素索引如果小於元素長度一半,從鏈頭開始找起,如果大於元素長度的一半,則從鏈尾找起
//=======================ArrayList============================== /** * List介面的特有方法:一般帶有索引的方法 * 新增元素 * add(Object e): 向集合末尾處,新增指定的元素 * add(int index, Object e) 向集合指定索引處,新增指定的元素 */ List<String> strList = new ArrayList<String>(); strList.add(
"aaa"); strList.add("bbb"); strList.add("ccc"); strList.add("ddd"); System.out.println(strList.toString()); strList.add(2,"ddd"); System.out.println(strList.toString()); /** * 刪除元素 * remove(Object e) 根據物件刪除集合中的物件,返回被刪除的物件 * remove(int index) 根據索引刪除集合中的物件,返回被刪除的物件 */ boolean b = strList.remove("eee"); System.out.println(b); boolean b1 = strList.remove("aaa"); System.out.println(b1); System.out.println(strList.toString()); /** * 替換元素 * set(int index, Object e) 將索引上的元素替換成第二個引數的元素 */ strList.set(0, "hahaha"); System.out.println(strList.toString()); /** * 取出元素 */ String str1 = strList.get(2); System.out.println(str1); //=====================LinkedList========================= //特點:底層連結串列結構,查詢慢,增刪快 //LinkedList 的特有方法不能多型呼叫 LinkedList<String> strLinkList = new LinkedList<String>(); strLinkList.add("1"); strLinkList.add("2"); strLinkList.add("3"); strLinkList.add("4"); //刪除第一個/最後一個 String fir = strLinkList.removeFirst(); String last = strLinkList.removeLast(); System.out.println(fir); System.out.println(last); strLinkList.add("6"); strLinkList.add("5"); //取出第一個/最後一個 String firget = strLinkList.getFirst(); String lastget = strLinkList.getLast(); System.out.println(firget); System.out.println(lastget); //新增到連結串列頭/連結串列尾 strLinkList.addFirst("addFirst"); strLinkList.addLast("addLast"); System.out.println(strLinkList.toString()); } }