ArrayList LinkedList
生活随笔
收集整理的這篇文章主要介紹了
ArrayList LinkedList
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼
package test;import java.util.ArrayList; import java.util.LinkedList; import java.util.Random;public class list {public static void main(String[] args) {ArrayList<Integer> arrayList = new ArrayList<>();LinkedList<Integer> linkedList = new LinkedList<>();Random random = new Random();for (int i = 0; i < 100000; i++) {int a = random.nextInt();arrayList.add(a);linkedList.add(a);}get(arrayList, linkedList, 0);get(arrayList, linkedList, 0);get(arrayList, linkedList, 50000);get(arrayList, linkedList, 99999);add(arrayList, linkedList, 0);add(arrayList, linkedList, 50000);add(arrayList, linkedList, 99999);}private static void add(ArrayList<Integer> arrayList, LinkedList<Integer> linkedList, int i) {long time1 = System.nanoTime();arrayList.add(i,100);long time2 = System.nanoTime();linkedList.add(i,100);long time3 = System.nanoTime();System.out.println("ArrayList add(" + i + "):" + (time2 - time1));System.out.println("LinkedList add(" + i + "):" + (time3 - time2));}private static void get(ArrayList<Integer> arrayList, LinkedList<Integer> linkedList, int i) {long time1 = System.nanoTime();int a = arrayList.get(i);long time2 = System.nanoTime();a = linkedList.get(i);long time3 = System.nanoTime();System.out.println("ArrayList get(" + i + "):" + (time2 - time1));System.out.println("LinkedList get(" + i + "):" + (time3 - time2));} }輸出結果
ArrayList get(0):11500 LinkedList get(0):16700 ArrayList get(0):2300 LinkedList get(0):2200 ArrayList get(50000):2200 LinkedList get(50000):885200 ArrayList get(99999):2000 LinkedList get(99999):2000 ArrayList add(0):724500 LinkedList add(0):19700 ArrayList add(50000):59500 LinkedList add(50000):1241900 ArrayList add(99999):4100 LinkedList add(99999):3300性能分析
需要大量頭尾修改讀取操作可以使用LinkedList,作為棧、隊列、貪吃蛇ect
需要大量按照位置讀取操作 使用ArrayList,其他不具體的情況也可以使用ArrayList
總結
以上是生活随笔為你收集整理的ArrayList LinkedList的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: F2FS文件系统工具简介
- 下一篇: CF probabilities 自制题