LinkedList集合类
主讲人:王少华 QQ群号:483773664
学习目标
掌握LinkedList的使用场合
掌握LinkedList常用方法
一、需求
如何在集合的头部或尾部添加、获取和删除狗狗对象呢?
如何在集合的其他任何位置添加、获取和删除狗狗对象
二、分析
(一)ArrayList
add(Object object) remove(Object object):在集合尾部添加或删除元素
add(int index,Object o) remove(int index,Object o):实现任意位置元素的添加和删除。
add(Object object) remove(Object object):在集合尾部添加或删除元素
add(int index,Object o) remove(int index,Object o):实现任意位置元素的添加和删除。
由于ArrayList采用了和数组相同的存储方式,所以在添加和删除非尾部元素时会导致后面所有元素的移动,性能低下。
(二)LinkedList
采用链表存储方式。插入、删除元素时效率比较高
三、常用方法
void addFirst(Object o) 在列表的首部添加元素
void addLast(Object o) 在列表的末尾添加元素
Object getFirst() 返回列表中的第一个元素
Object getLast() 返回列表中的最后一个元素
Object removeFirst() 删除并返回列表中的第一个元素
Object removeLast() 删除并返回列表中的最后一个元素
四、参考代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | public class Test { public static void main(String[] args) { // 1、创建多个狗狗对象 Dog ououDog = new Dog( "欧欧" , "雪娜瑞" ); Dog yayaDog = new Dog( "亚亚" , "拉布拉多" ); Dog ×××Dog = new Dog( "美美" , "雪娜瑞" ); Dog feifeiDog = new Dog( "菲菲" , "拉布拉多" ); // 2、创建LinkedList集合对象并把多个狗狗对象放入其中 LinkedList dogs = new LinkedList(); dogs.add(ououDog); dogs.add(yayaDog); dogs.addLast(×××Dog); dogs.addFirst(feifeiDog); // 3、查看集合中第一条狗狗的昵称 Dog dogFirst = (Dog) dogs.getFirst(); System.out.println( "第一条狗狗的昵称是" + dogFirst.getName() + "。" ); // 4、查看集合中最后一条狗狗的昵称 Dog dogLast = (Dog) dogs.getLast(); System.out.println( "最后一条狗狗的昵称是" + dogLast.getName() + "。" ); // 5、删除集合中第一个狗狗和最后一个狗狗 dogs.removeFirst(); dogs.removeLast(); // 6、显示删除部分狗狗后集合中各条狗狗信息 System.out.println( "\n删除部分狗狗后还有" + dogs.size() + "条狗狗。" ); System.out.println( "分别是:" ); for ( int i = 0 ; i < dogs.size(); i++) { Dog dog = (Dog) dogs.get(i); System.out.println(dog.getName() + "\t" + dog.getStrain()); } } } |