本人学生党一枚。Java学习过程,写这个博客纯属当复习,有什么错误的地方请大家指出来在评论里指点指点我。谢谢
ArrayList概念:
ArrayList是升级版的数组,我们都知道数组的缺陷是要在使用之前要把范围定死,换句话说数组不能动态的改变长度。而ArrayList可以做到。
ArrayList 是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。
ArrayList 继承了AbstractList,实现了List。它是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。
常用操作:
定义一个对象:
//定义一个ArrayList对象
ArrayList al = new ArrayList();
ArrayList范围:
//显示大小
al.size()
添加:
//将clerk_1 加入到al中;
al.add(clerk_1);
访问:
//如何访问al中的对象(数据)
//访问第一个对象
al.get(0);
删除:
//如何从al中删除一个对象
al.remove(0);
遍历:
//遍历所有al中的对象
for(int i=0;i<al.size();i++)
{
Clerk temp1 = (Clerk)al.get(i);
System.out.println("名字等于="+temp1.getName());
}
这里只是列举了几个常用的方法。
更多ArrayList的方法和使用请查看官方帮助文档…
ArrayList练习题目:
利用面向对象的思想设计一个员工管理系统。要求属性有:员工号,员工姓名,员工工资。
要求1:可以加入员工。
要求2:可以显示员工相关信息。
要求3:可以显示所有员工信息。
要求4:可以修改员工工资。
要求5:可以删除员工。
代码:
/*
* 功能:ArrayList类的练习.
* 员工管理系统
*/
package demo7;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import javax.swing.text.AbstractDocument.BranchElement;
public class Demo7_2 {
public static void main(String[] args) throws Exception {
//创建EmpManage对象
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
EmpManage empManage = new EmpManage();
//做出一个简易菜单
while (true) {
System.out.println("请选择你要进行的操作");
System.out.println("1:表示添加一个雇员");
System.out.println("2:查找一个雇员");
System.out.println("3:查看所有雇员");
System.out.println("4:修改一个雇员工资");
System.out.println("5:删除一个雇员");
System.out.println("6:删除一个雇员");
String operType = bufferedReader.readLine();
if (operType.equals("1"))
{
System.out.println("请输入员工号");
String empNo=bufferedReader.readLine();
System.out.println("请输入名字");
String name = bufferedReader.readLine();
System.out.println("请输入工资");
float sal = Float.parseFloat(bufferedReader.readLine());
Emp emp = new Emp(empNo, name, sal);
empManage.addEmp(emp);
}else if (operType.equals("2"))
{
System.out.println("请输入员工号");
String empNo=bufferedReader.readLine();
empManage.showInfo(empNo);
}else if (operType.equals("3"))
{
empManage.showAllEmp();
}else if (operType.equals("4"))
{
System.out.println("请输入员工号");
String empNo=bufferedReader.readLine();
System.out.println("请输入修改的工资");
float sal = Float.parseFloat(bufferedReader.readLine());
empManage.updateSal(empNo, sal);
}else if (operType.equals("5"))
{
System.out.println("请输入员工号");
String empNo=bufferedReader.readLine();
empManage.delEmp(empNo);
}
else if (operType.equals("6"))
{
System.out.println("退出系统");
//退出系统
System.exit(0);
}
}
}
}
//雇员管理类
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 showAllEmp()
{
for (int i = 0; i < al.size(); i++) {
Emp emp1=(Emp)al.get(i);
System.out.println("员工号"+emp1.getEmpNo()+" 姓名:"+emp1.getName()+" 薪水"+emp1.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);
System.out.println("修改薪水成功");
}
}
}
//删除某个员工
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);
System.out.println("删除成功");
}
}
}
}
//雇员类
class Emp{
//定义工号
private String empNo;
private String name;
private float 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;
}
//构造方法
public Emp(String empNo,String name,float sal)
{
this.empNo = empNo;
this.name = name;
this.sal = sal;
}
}