ArrayList与LinkedList的区别
ArrayList与LinkedList的区别
- ArrayList底层是基于数组实现的,所以查询快,增删慢。
- LinkedListt底层是基于链表实现的,所以增删快,查询慢(会一个一个的比较下去直到找到为止)。
LinkedList
在LinkedList中插入元素是一般需要将元素添加到链表中间,LinkedList.add方法是将元素添加到末尾,所以这时要用到迭代器ListIterator.add方法。
List<String> staff = new LinkedList();
staff.add("张三");
staff.add("李四");
staff.add("赵五");
ListIterator<String> it = staff.listIterator();//链表迭代器
it.next();//第一个后加
it.add("老王");//此时集合的元素为:张三、老王、李四、赵五
- 链表迭代器能够检测到集合的修改,如一个迭代器在修改集合,另一个在遍历(遍历使用hasNext)则会抛出异常。
- 检测某个元素是否出现在链表中,使用.contains()方法,存在则返回true。
本文标题:ArrayList与LinkedList的区别
本文链接:https://www.haomeiwen.com/subject/nujjsktx.html
网友评论