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

}

 

 

 

 

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