LinkedList与ArrayList有什么区别
两者都实现的是List接口,不同之处在于: (1)、ArrayList是基于动态数组实现的,LinkedList是基于链表的数据结构。 (2)、get访问List内部任意元素时,ArrayList的性能要比LinkedList性能好。LinkedList中的get方法是要按照顺序从列表的一端开始检查,直到另一端 (3)、对于新增和删除操作LinkedList要强于ArrayList,因为ArrayList要移动数据
附加: LinkedList实现了List接口,允许null元素。此外LinkedList提供额外的get,remove,insert方法在LinkedList的首部或尾部。这些操作使LinkedList可被用作堆栈(stack),队列(queue)或双向队列(deque)。 注意LinkedList没有同步方法。如果多个线程同时访问一个List,则必须自己实现访问同步。一种解决方法是在创建List时构造一个同步的List: List list = Collections.synchronizedList(new LinkedList(…));
|