今天在学JDBC的时候碰上LinkedList,本来感觉挺亲切的后来写着写着发现有一些方法搞得我很懵逼(请关注加黑字体!!!),于是就把旧笔记翻出来整理了一下:
增加:
1.头部添加:
add(E e):在链表后添加一个元素;
add(int index, E element):在指定位置插入一个元素。(重载)
push(E e):与addFirst方法的效果一样
addFirst(E e):在链表头部插入一个元素;
offerFirst(E e):在链表头部插入一个元素;
以上方法应该都是添加元素在链表头部:
public void addFirst(E e) {
linkFirst(e);
}
public void push(E e) {
addFirst(e);
}
2.尾部添加:
addLast(E e):在链表尾部添加一个元素;
offer(E e):在链表尾部插入一个元素
offerLast(E e):在链表尾部插入一个元素
以上方法应该都是添加元素在链表尾部:
public void addLast(E e) {
linkLast(e);
}
public boolean offer(E e) {
return add(e);
}
public boolean add(E e) {
linkLast(e);
return true;
}
2.删除(关注加黑重点!!!)
1.删除头:
remove() :除链表中第一个元素;
pop():删除头;
poll():查询并移除第一个元素;
remove(E e):移除指定元素;
removeFirst(E e):删除头;
pollFirst():删除头;
以上代码基本都是查询并删除头部或者删除头部的:
public E remove() {
return removeFirst();
}
public E pop() {
return removeFirst();
}
public E poll() {
final Node<E> f = first;
return (f == null) ? null : unlinkFirst(f);
}
里面无论是查询还是删除,做完操作之后是可以获取到查询的数据和删除的数据的!!!获取到的数据类型就是被查询删除或者被删除的那个元素的元素类型
比如:
LinkedList<String> list = new LinkedList<>();
String remove = list.remove();
String poll = list.poll();
String pop = list.pop();
就是这个东西让我很懵逼=-=
2.删除尾:
pollLast():删除尾;
removeLast(E e):删除尾;
以上代码基本都是查询并删除尾部或者删除尾部的:
public E removeLast() {
final Node<E> l = last;
if (l == null)
throw new NoSuchElementException();
return unlinkLast(l);
}
public E pollLast() {
final Node<E> l = last;
return (l == null) ? null : unlinkLast(l);
}
3.查询:
get(int index):按照下标获取元素;
getFirst():获取第一个元素;
getLast():获取最后一个元素;
peek():获取第一个元素,但是不移除;
peekFirst():获取第一个元素,但是不移除;
peekLast():获取最后一个元素,但是不移除;
这里就不放代码了,大家应该都知道怎么用.
不知道有没有写错的,有错请私信我,我改=-=