1. 程式人生 > 其它 >Java菜雞的學習日常——List(一)

Java菜雞的學習日常——List(一)

有什麼想說的,我一般都直接打在程式碼塊裡了,中間可能夾雜著一些其他的東西

public class MyList_1 {
    //List是一個介面,它有三種實現形式:ArrayList、LinkedList和Vector
    //List繼承於Collection的介面。它代表著有序的佇列。當我們討論List的時候,一般都和Set作比較。

    //1.ArrayList底層是用陣列實現的,可以認為ArrayList是一個可改變大小的陣列。隨著越來越多的元素被新增到ArrayList中,其規模是動態增加的。
    //2.LinkedList底層是通過雙向連結串列實現的。所以,LinkedList和ArrayList之前的區別主要就是陣列和連結串列的區別。
public static void main(String[] args) { ArrayList<Integer> arrayList = new ArrayList<Integer>(); LinkedList<Integer> linkedList = new LinkedList<Integer>(); //Integer是一個類,在其產生的物件中包裝了一個基本型別 int 的值,該類提供了多個方法 //通過呼叫Integer類的靜態方法可以直接將一個int型整數轉換為相應的二進位制、八進位制以及十六進位制並且返回結果的字串形式
long startTime = System.nanoTime();//System.nanoTime()是基於cpu核心的時鐘週期來計時的,也就是說通過兩次獲取,可以得到一個時間差 for (int i = 0; i < 100000; i++) { arrayList.add(i);//新增資料 } long endTime = System.nanoTime(); long duration = endTime - startTime;//獲得過程時間 System.out.println
("ArrayList add: " + duration);//這個值是不確定的(誤差不大),且為納秒級 for (int i = 0; i < 10000; i++) { arrayList.get(i);//獲取資料(查詢資料) } for (int i = 9999; i >=0; i--) { arrayList.remove(i);//刪除資料 } //在新增和刪除操作上LinkedList更快,但在查詢速度較慢 } }

附上執行結果:
執行結果