linkedlist确实在插入时速度更快,问题出在您的示例中。在您的代码中,您一直都需要附加到末尾。对于ArrayList,它与linkedList一样容易。您应该做的是建立一个包含5000个项目的列表,然后开始在中间插入。在这里数组变慢了-
您必须一直将数组其余部分移到插入位置之后。这将显示出差异。分析事物的工作原理,不难理解原因。这是修改后的代码:
import java.util.Date; import java.util.linkedList; import java.util.ArrayList; import java.util.List; public class Prob { public static void main(String[] args) { long lStartTime = new Date().getTime(); System.out.println("lStartTime:: " + lStartTime); List<Integer> integerList = new linkedList<Integer>(); for (int i = 0; i < 5000; i++) { integerList.add(0, i); } for (int i = 0; i < 100000; i++) { integerList.add(1000, i); } long lEndTime = new Date().getTime(); System.out.println("lEndTime:: " + lEndTime); long difference = lEndTime - lStartTime; System.out.println("Elapsed milliseconds: " + difference); }}


