package collectionTest;
import java.util.ArrayList;
import java.util.LinkedList;
/**
* @author : 范东升 @date : 2023/4/10
* CONTENT:
*/
public class test {
private static ArrayList<String> arrayList = new ArrayList<>();
private static LinkedList<String> linkedList = new LinkedList<>();
private static final int T = 900;
private static final int SIZE = 1000;
static {
for (int i=0;i<SIZE;i++)
{
arrayList.add("测试数据");
linkedList.add("测试数据");
}
}
public static void main(String[] args) {
testArr();
testLink();
}
public static void testArr()
{
long p = System.nanoTime();
arrayList.add(T,"插入");
long q = System.nanoTime();
Long time = q-p;
System.out.println("ArrayList插入用时"+time+"纳秒");
}
public static void testLink()
{
long p = System.nanoTime();
linkedList.add(T,"插入");
long q = System.nanoTime();
Long time = q-p;
System.out.println("LinkedList插入用时"+time+"纳秒");
}
}
ArrayList | LinkedList | |
1000 | 25400纳秒 29000纳秒 30200纳秒 | 41200纳秒 43600纳秒 60200纳秒 |
100W | 929000纳秒 501900纳秒 143800纳秒 | 2883800纳秒 4796600纳秒 1770700纳秒 |
1000W | 9205400纳秒 5128700纳秒 1370300纳秒 | 20315300纳秒 24674600纳秒 8432300纳秒 |
三行数据分别为:
在30% 60% 90%的位置插入
结论
在三种请求下ArrayList对于插入的效率来说,怎么看都高于LinkedList