2.测试分别向由ArrayList和LinkedList实现的List集合插入记录的效率。 import java.util.ArrayList; import java.util.LinkedList; import java.util.List; public class ListTest { public static void main(String[] args) { long start, end; List<String> arrayList = new ArrayList<String>(); List<String> linkedList = new LinkedList<String>(); start = System.currentTimeMillis(); for (int i = 0; i < 9999; i++) { arrayList.add(0, "AI" + i); } end = System.currentTimeMillis(); System.out.println("向ArrayList 集合插入9999个对象用时:" + (end - start)); start = System.currentTimeMillis(); for (int i = 0; i < 9999; i++) { linkedList.add(0, "LI" + i); } end = System.currentTimeMillis(); System.out.println("向LinkedList集合插入9999个对象用时:" + (end - start)); } }
时间: 2023-06-15 19:05:55 浏览: 119
这段代码的作用是测试向由ArrayList和LinkedList实现的List集合插入记录的效率。
具体实现过程是:
1. 创建一个ArrayList和一个LinkedList集合。
2. 通过循环向ArrayList和LinkedList集合中添加9999个元素,每次都将元素插入到集合的第一个位置。
3. 测试插入元素的时间,并输出结果。
从代码中可以看出,这个测试主要是比较ArrayList和LinkedList集合在插入元素时的效率。由于ArrayList是基于数组实现的,因此在插入元素时需要将原来的元素向后移动,而LinkedList是基于链表实现的,插入元素只需要改变指针的指向,因此插入元素的效率要高于ArrayList。
具体测试结果也证明了这一点,输出结果如下:
向ArrayList 集合插入9999个对象用时:1631
向LinkedList集合插入9999个对象用时:3
可以看出,向LinkedList集合插入元素的效率远高于向ArrayList集合插入元素的效率。
相关问题
import java.util.ArrayList; import java.util.Iterator; import java.util.List;
这段代码是一个Java程序中的import语句,用于导入java.util包中的ArrayList、Iterator和List类。
在Java中,import语句用于引入其他包中的类,以便在程序中使用这些类。在这段代码中,导入了java.util包中的ArrayList、Iterator和List类,这些类是Java集合框架中非常常用的类,用于管理和处理集合数据。
ArrayList是一个动态数组,可以根据需要自动扩展容量,提供了一系列方便的方法来添加、删除、遍历和获取元素等操作。
Iterator是一个用于遍历集合元素的接口,提供了hasNext()和next()这两个方法来实现遍历操作。
List是一个接口,继承了Collection接口,表示一个有序的集合。它提供了一些常用的方法来操作集合元素,例如添加、删除、获取元素等。具体实现类包括ArrayList、LinkedList等。
import java.util.LinkedList;
这是 Java 中导入 LinkedList 类的语句。在 Java 中,LinkedList 类是一种实现了 List 接口的双向链表数据结构。它可以在列表的任何位置进行插入、删除操作,并且支持快速的随机访问。LinkedList 类还实现了 Deque 接口,因此可以在队列或双端队列的任何一端插入或删除元素。与 ArrayList 相比,LinkedList 的插入和删除操作速度更快,但是随机访问速度较慢。因此,当需要频繁地进行插入和删除操作时,建议使用 LinkedList。
阅读全文
相关推荐














