【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版權協議,轉載請附上原文出處鏈接及本聲明。原文鏈接:https://blog.csdn.net/huyang0304/article/details/82389595

一、構造函數類(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());
		}
		
	}

}

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章