天天看點

【JAVA】LinkedList的增加、删除用法執行個體!(含代碼)

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());
    }
    
  }

}