对对象进行编辑,保存使用。
常用的集合框架:
使用示例:
package jihelist;
//演示集合的增删改查
//daorubao
import java.util.*;
import java.io.*;
public class test1 {
public static void main(String[] args) throws Exception {
InputStreamReader is = new InputStreamReader(System.in); //new构造InputStreamReader对象
BufferedReader br = new BufferedReader(is); //拿构造的方法传到BufferedReader中
//对象必须在循环外面创建,刚开始创建在里面,每次运行的时候都会初始化,导致对象数组没有保存
Admin admin = new Admin();
while(true) {
System.out.println("Options:");
System.out.println("1.Add a employee.");
System.out.println("2.Show employee's information from somebody.");
System.out.println("3.Show all employees's information。");
System.out.println("4.Alter employee's salary。");
System.out.println("5.Delete a employee.");
System.out.println("Others.Exit the program");
//br读取的内容都是字符串
System.out.print("Please input your choice:");
String data = br.readLine();
if (data.equals("1")) {
System.out.println("Please input a name:");
String name = br.readLine();
System.out.println("Please input age:");
String age = br.readLine();
System.out.println("Please input salary:");
String salary = br.readLine();
//将字符串转化为int类型
int Age = Integer.parseInt(age);
int Salary = Integer.parseInt(salary);
Worker_Info worker = new Worker_Info(name,Age,Salary);
admin.addWorker(worker);
System.out.println(name + "已经添加上了");
} else if(data.equals("2")){
System.out.println("Please input a name:");
String name = br.readLine();
admin.showInfo(name);
System.out.println("rr");
} else if (data.equals("3")) {
admin.allshowInfo();
} else if (data.equals("4")){
System.out.println("Please input a name:");
String name = br.readLine();
System.out.println("Please input salary:");
String salary = br.readLine();
int Salary = Integer.parseInt(salary);
admin.alterSalary(name, Salary);
} else if (data.equals("5")) {
System.out.println("Please input a name:");
String name = br.readLine();
admin.delWorker(name);
} else {
System.exit(0);
}
}
/*// TODO Auto-generated method stub
//创建对象
ArrayList al = new ArrayList();
System.out.println(al.size());
//创建对象Worker_Info
Worker_Info songjiang = new Worker_Info("songjiang", 33, 3000);
Worker_Info wusong = new Worker_Info("wusong", 25, 1500);
//将对象添加到列表;
//可重复添加同样的数据
al.add(songjiang);
al.add(wusong);
al.add(wusong);
System.out.println(al.size());
//System.out.println(al.get(0));
//如何访问al中的对象;
//访问第一个对象
Worker_Info temp = (Worker_Info)al.get(0);
System.out.println(temp.name);
//遍历al中所有对象。
for (int i=0;i<al.size();i++) {
Worker_Info t2 = (Worker_Info)al.get(i);
System.out.println(t2.getName());
b
}
//如何从al中删除对象:
al.remove(1);*/
}
}
class Admin{
ArrayList array;
//初始化,初始化一般在构造函数中进行
public Admin(){
array = new ArrayList();
}
//增加
public void addWorker(Worker_Info worker) {
array.add(worker);
}
//按照名字查找,并且显示该职工的所有信息;如果没有搞职工则打印该用户不存在
public void showInfo (String name) {
for (int i =0;i<array.size();i++) {
Worker_Info worker = (Worker_Info)array.get(i);
if (name.equals(worker.getName())) {
System.out.println("找到了"+ name);
System.out.println("该用户的名字是:"+ name);
System.out.println("该用户的年龄是:"+ worker.getAge());
System.out.println("该用户的工资是:"+ worker.getSalary());
} else {
System.out.println("该用户不存在");
}
}
}
//打印所有员工的信息
public void allshowInfo() {
for (int i =0;i<array.size();i++) {
Worker_Info worker = (Worker_Info)array.get(i);
System.out.println("name = "+ worker.getName());
System.out.println("age = "+ worker.getAge());
System.out.println("salary = "+ worker.getSalary());
}
}
//更改员工工资;
public void alterSalary(String name,int salary){
for (int i =0;i<array.size();i++) {
Worker_Info worker = (Worker_Info)array.get(i);
if (name.equals(worker.getName())) {
worker.setSalary(salary);
} else {
System.out.println("该用户不存在");
}
}
}
//删除员工,当员工离职后
public void delWorker(String name){
for (int i =0;i < array.size();i++) {
Worker_Info worker = (Worker_Info)array.get(i);
if (name.equals(worker.getName())) {
array.remove(worker);
} else {
System.out.println("名字为" + name + "的用户不存在");
}
}
}
}
class Worker_Info{
String name;
int age;
int salary;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
//构造方法
public Worker_Info(String name,int age, int salary){
this.name=name;
this.age=age;
this.salary=salary;
}
}