Java集合类之LinkedList链表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合类之LinkedList链表相关的知识,希望对你有一定的参考价值。

package com.test;
import java.util.*;

public class Demo7_3 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        LinkedList ll = new LinkedList();
        Emp emp1 = new Emp("sa01","aa",1.2f);
        Emp emp2 = new Emp("sa02","bb",1.2f);

        //表示把emp加载链表的最前面
        ll.addFirst(emp1);
        ll.addFirst(emp2);
        
        ll.addLast(emp1);
        ll.addLast(emp2);
        
        for (int i = 0; i < ll.size(); i++) {
            System.out.println(((Emp)ll.get(i)).getName());
        }
        
//        ll.remove(0);
//        
//        for (int i = 0; i < ll.size(); i++) {
//            System.out.println(((Emp)ll.get(i)).getName());
//        }        
    }

}



//雇员管理类
class EmpManage {
    private ArrayList al = null;

    // 构造函数最主要的作用就是初始化成员变量
    public EmpManage() {
        al = new ArrayList();
    }

    // 加入员工
    public void addEmp(Emp emp) {
        al.add(emp);
    }

    // 根据员工号显示该员工的相关信息
    public void showInfo(String empNo) {
        // 遍历整个ArrayList
        for (int i = 0; i < al.size(); i++) {
            // 取出Emp对象
            Emp emp = (Emp) al.get(i);

            // 比较编号
            if (emp.getEmpNo().equals(empNo)) {
                System.out.println("找到该员工,他的信息是");
                System.out.println("编号=" + empNo);
                System.out.println("名字=" + emp.getName());
                System.out.println("工资=" + emp.getSal());
            }
        }
    }

    // 修改工资
    public void updateSal(String empNo, float newSal) {
        for (int i = 0; i < al.size(); i++) {
            Emp emp = (Emp) al.get(i);
            if (emp.getEmpNo().equals(empNo)) {
                // 修改薪水
                emp.setSal(newSal);
            }
        }
    }

    // 删除员工
    public void delEmp(String empNo) {
        for (int i = 0; i < al.size(); i++) {
            Emp emp = (Emp) al.get(i);
            if (emp.getEmpNo().equals(empNo)) {
                // 两种删除方式都可以
                al.remove(i);
                // al.remove(emp);
            }
        }
    }
}

//雇员类
class Emp {

    // 学号
    private String empNo;
    private String name;
    private float sal;

    // 构造函数
    public Emp(String empNo, String name, float sal) {
        super();
        this.empNo = empNo;
        this.name = name;
        this.sal = sal;
    }

    public String getEmpNo() {
        return empNo;
    }

    public void setEmpNo(String empNo) {
        this.empNo = empNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public float getSal() {
        return sal;
    }

    public void setSal(float sal) {
        this.sal = sal;
    }

}

 

以上是关于Java集合类之LinkedList链表的主要内容,如果未能解决你的问题,请参考以下文章

Java重要类之LinkedList

Java--LinkedList集合,链表

Java 集合深入理解 :LinkedList链表源码研究,及双向队列如何实现

Java集合四LinkedList

集合类之Collection接口和Map接口

Java_集合框架