LinkedList(学习java编程思想笔记)

2016-10-24  本文已影响42人  998584f56259

下面是LinkedList区别于ArrayList的方法,getFirst()和element()完全一样,他们都是返回列表的头(第一个元素),并不删除它,如果集合为空你,则抛出异常。peek()方法与这两个方法只是稍微有一些差异,它在列表为空时返回null。

removeFirst()与remove()也是完全一样,它们移除并返回列表的头,而在列表为空时抛出异常,poll()稍微有一些差异,它在列表为空时返回null。

addFirst()与add()和addLast()相比,addFirst()将某个元素插入到列表的头部,而add()和addLast()将某个元素插入到列表的尾部。removeLast()移除并返回列表的最后一个元素。

 import java.util.*;

import pets.Hamster;
import pets.Pet;
import pets.Pets;
import pets.Rat;


public class LinkedListFeatures {
public static void main(String[] args) {
  
LinkedList<Pet> pets =
  new LinkedList<Pet>(Pets.arrayList(5));

System.out.println(pets);

System.out.println("pets.getFirst(): " + pets.getFirst());

System.out.println("pets.element(): " + pets.element());

System.out.println("pets.peek(): " + pets.peek());

System.out.println("pets.remove(): " + pets.remove());

System.out.println("pets.removeFirst(): " + pets.removeFirst());

System.out.println("pets.poll(): " + pets.poll());

System.out.println(pets);

pets.addFirst(new Rat());
System.out.println("After addFirst(): " + pets);
pets.offer(Pets.randomPet());
System.out.println("After offer(): " + pets);
pets.add(Pets.randomPet());
System.out.println("After add(): " + pets);
pets.addLast(new Hamster());
System.out.println("After addLast(): " + pets);
System.out.println("pets.removeLast(): " + pets.removeLast());
}
} 
/* Output:
[Rat, Manx, Cymric, Mutt, Pug]
pets.getFirst(): Rat
pets.element(): Rat
pets.peek(): Rat
pets.remove(): Rat
pets.removeFirst(): Manx
pets.poll(): Cymric
[Mutt, Pug]
After addFirst(): [Rat, Mutt, Pug]
After offer(): [Rat, Mutt, Pug, Cymric]
After add(): [Rat, Mutt, Pug, Cymric, Pug]
After addLast(): [Rat, Mutt, Pug, Cymric, Pug, Hamster]
pets.removeLast(): Hamster
*/
上一篇 下一篇

猜你喜欢

热点阅读