LinkedList是一個有序的集合對象,底層是由雙向連結清單實作,增删快,查詢比較慢。
增加:
add(E e):在連結清單後添加一個元素; 通用方法
addFirst(E e):在連結清單頭部插入一個元素; 特有方法
addLast(E e):在連結清單尾部添加一個元素; 特有方法
push(E e):與addFirst方法一緻
offer(E e):在連結清單尾部插入一個元素
add(int index, E element):在指定位置插入一個元。
offerFirst(E e):JDK1.6版本之後,在頭部添加; 特有方法
offerLast(E e):JDK1.6版本之後,在尾部添加; 特有方法
删除:
remove() :移除連結清單中第一個元素; 通用方法
remove(E e):移除指定元素; 通用方法
removeFirst(E e):删除頭,擷取元素并删除; 特有方法
removeLast(E e):删除尾; 特有方法
pollFirst():删除頭; 特有方法
pollLast():删除尾; 特有方法
pop():和removeFirst方法一緻,删除頭。
poll():查詢并移除第一個元素 特有方法
查:
get(int index):按照下标擷取元素; 通用方法
getFirst():擷取第一個元素; 特有方法
getLast():擷取最後一個元素; 特有方法
peek():擷取第一個元素,但是不移除; 特有方法
peekFirst():擷取第一個元素,但是不移除;
peekLast():擷取最後一個元素,但是不移除;
pollFirst():查詢并删除頭; 特有方法
pollLast():删除尾; 特有方法
poll():查詢并移除第一個元素 特有方法
————————————————
以上内容版權聲明:本文為CSDN部落客「yyyyyhu」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
一、構造函數類(Student.java)
package Z_LinkedList;
public class Student {
private int id; // 編号
private String name;// 姓名
private String old;// 年齡
public Student() {}
public Student(int id, String name, String old) {
this.id = id;
this.name = name;
this.old = old;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getOld() {
return old;
}
public void setOld(String old) {
this.old = old;
}
}
二、主操作類(m_LinkedList.java)
package Z_LinkedList;
import java.util.*;
public class m_LinkedList {
public static void main(String[] args)
{
LinkedList m_student = new LinkedList(); // 建立一個空的LinkedList集合
Student student_1= new Student(1,"張三","15"); // 執行個體化Student類,并存入資料"
Student student_2= new Student(2,"李四","16");
Student student_3= new Student(3,"王五","16");
// --------- 添加(是追加,不是插入) add
m_student.add(student_1); // 把類存入數組LinkedList中
m_student.add(student_2);
m_student.add(student_3);
m_student.addFirst(new Student(0,"老大","18")); // 在第一條插入
m_student.addLast(new Student(4,"店小二","15")); // 在最後插入一行資料
System.out.println("學生資訊的行數:"+m_student.size()); // 判斷對象數組有幾行
// ---------- 查詢和周遊 for
for(int i=0;i<m_student.size();i++)
{
Student student = (Student)m_student.get(i);
System.out.println("第"+student.getId()+"行的學生資訊的姓名:"+student.getName()+" 年齡:"+student.getOld());
}
// ------------ 擷取第一條的值,擷取最後一條的值
System.out.println("");
Student student1 = (Student)m_student.getFirst();
System.out.println("第一條的姓名是:"+student1.getName());
Student student2 = (Student)m_student.getLast();
System.out.println("最後一條的姓名是:"+student2.getName());
System.out.println("");
System.out.println("------删除後的顯示結果-----");
m_student.removeFirst(); // 删除第一條
m_student.removeLast(); // 删除最後一條
System.out.println(m_student.contains(student_2)); // 【contains】判斷是含否有對象,傳回true
System.out.println(m_student.contains(new Student(3,"王五","18"))); // 【contains】判斷是含否有對象,是指針對比,不是值對比,是以傳回false
m_student.remove((student_2)); // 【remove】删除元素
for(int i=0;i<m_student.size();i++)
{
Student student = (Student)m_student.get(i);
System.out.println("第"+student.getId()+"行的學生資訊的姓名:"+student.getName()+" 年齡:"+student.getOld());
}
}
}