package test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
/*
* 作者:钟志钢
* 功能:集合框架之ArrayList
* 时间:2013-1-26
* 1,List结构:ArrayList,LinkedList,Vector,Stack;
* 2, Map结构:HashMap, Hashtable;
* 3, set结构:HastSet,TreeSet;
* 4, Queue结构:Queue接口
*/
public class 集合框架 {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
//ArrayList
ArrayList<Clerk> al = new ArrayList<Clerk>();
Clerk c1 = new Clerk("宋江", 50, 1000);
al.add(c1);//添加到尾部
Clerk c3 = new Clerk("吴用", 45, 2000);
al.add(c3);//添加到尾部
al.add(c3);//可以加相同的对象
System.out.println("al.lenght=" + al.size());
Clerk c2 = new Clerk("武松", 30, 10004.4f);
al.add(0, c2);//加到指定位置,原来的会往看推
al.remove(3);//删除相应的对象
//System.out.println(al.get(1).getName());
for(Clerk c : al){
//System.out.println(c.getName());
}
//用一个类来专门管理员工的信息
EmpManage emp = new EmpManage();
//读取输入
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while(true){
System.out.println("请按提示操作");
System.out.println("1:添加一个员工");
System.out.println("2:查找一个员工");
System.out.println("3:修改一个员工工资");
System.out.println("4:删除一个员工");
System.out.println("6: 查找所有员工");
System.out.println("5:退出程序");
String op = br.readLine();
if(op.equals("1")){
System.out.println("请输入名字:");
String name = br.readLine();
System.out.println("请输入年龄:");
int age = Integer.valueOf(br.readLine());
System.out.println("请输入薪水:");
float sal = Float.parseFloat(br.readLine());
Clerk c = new Clerk(name, age, sal);
emp.addEmp(c);
//System.out.println("添加成功");
}else if(op.equals("2")){
System.out.println("请输入员工姓名");
String qname = br.readLine();
emp.info(qname);
}else if(op.equals("3")){
System.out.println("请输入要修改员工的姓名:");
String uname = br.readLine();
System.out.println("请输入要修改的工资:");
float newsal = Float.parseFloat(br.readLine());
emp.updateSal(uname, newsal);
//System.out.println("修改成功");
}else if(op.equals("4")){
System.out.println("请输入要删除的员工名字:");
String dname = br.readLine();
emp.delEmp(dname);
//System.out.println("删除成功");
}else if(op.equals("5")){
System.exit(0);
}else if(op.equals("6")){
emp.queal();
}
}
//LinkedList.可序列的链表
//LinkedList ll = new LinkedList();
}
}
class EmpManage{//员工管理类
private ArrayList<Clerk> al = null;
public EmpManage(){
al = new ArrayList<Clerk>();
}
public void queal() {
for(Clerk c : al){
System.out.println("员工名:" + c.getName()+",薪水是:"
+ c.getSal()+ ",年龄是" + c.getAge());
}
}
//加入员工
public void addEmp (Clerk c ){
al.add(c);
}
//删除员工
public void delEmp (String name){
boolean b = false;
for(Clerk c : al){
if(c.getName().equals(name)){//String 类型数据用==比较的是地址
al.remove(c);
b = true;
break;
}
}
if(!b){
System.out.println("查无此人");
}else{
System.out.println("删除成功");
}
}
//显示员工的相关信息
public void info(String name){
boolean b = false;
for(int i = 0; i < al.size(); i ++){
Clerk c = al.get(i);
if(c.getName().equals(name)){
b = true;
System.out.println("你查找的员工:" + c.getName()+",薪水是:"
+ c.getSal()+ ",年龄是" + c.getAge());
break;
}
}
if(!b){
System.out.println("查无此人");
}else{
System.out.println("查询成功");
}
}
//修改员工工资
public void updateSal(String name , float sal){
boolean b = false;
for(Clerk c : al){
if(c.getName().equals(name)){
c.setSal(sal);
b = true;
}
}
if(!b){
System.out.println("查无此人");
}else{
System.out.println("修改成功");
}
}
}
class Clerk {//员工类
private String name;
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 float getSal() {
return sal;
}
public void setSal(float sal) {
this.sal = sal;
}
private int age;
private float sal;
public Clerk (String name, int age, float sal){
this.age = age;
this.name = name;
this.sal = sal;
}
}
Android开发之从零开始之java-集合框架-ArrayList
最新推荐文章于 2023-11-13 23:01:45 发布