(笔记)关于集合中ArrayList例子

集合:

主要是分成以下几种

List结构集合类

ArrayList  LinedList Vector Stack

Map结构集合类

HashMap Hashtable

Set结构的集合类

HashSet  TreeSet

Queue结构的集合

Queue接口


ArrayList类:实现了可变数组,允许保存所有元素,包括null并可以根据索引位置对集合进行快速访问和随机访问
缺点:向指引的索引位置插入对象或删除对象比较慢


实例:

package lei;
import java.util.*;
import java.io.*;
public class newDemo {
	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub
    EmpManage em=new EmpManage();
    BufferedReader br =new BufferedReader(new InputStreamReader(System.in));//br流
    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:显示所有员工");
    	  String operType=br.readLine();
    	  if(operType.equals("1")){           //判断是否相等
    		  System.out.println("请输入编号");
    		  String empno=br.readLine();
    		  System.out.println("请出入名字");
    		  String name=br.readLine();
    		  System.out.println("请输入薪水");
    		  float sal =Float.parseFloat(br.readLine());//String强制转换为float
    		  Emp emp=new Emp(empno,name,sal);
    		  em.addEmp(emp);
    	  }else if(operType.equals("2")){
    	 System.out.println("请输入编号");
    	 String empno=br.readLine();
        	em.showinfo(empno);
          }else if(operType.equals("3")){
         System.out.println("请输入要修改的编号");
         String empno=br.readLine();
         System.out.println("请输入修改后的薪水");
         float newsal=Float.parseFloat(br.readLine());
         em.updateSal(empno, newsal);
          }else if(operType.equals("4")){
        	  System.out.println("请输入编号");
        	  String empno= br.readLine();
        	  em.delemp(empno);	  
          }else if(operType.equals("5")){
        	  em.showall();
          }
	}
	}

}
class EmpManage{
	private ArrayList al=null;    //定义一个ArrayList
	public EmpManage(){ 
		al=new ArrayList();       //赋值ArrayList
	}
	public void  addEmp(Emp  emp){  //方法1
		al.add(emp);                //集合中添加元素的方法 
	}
	public void  showinfo(String empno){
		for(int i=0; i<al.size();i++){    //遍历集合元素
			Emp emp = (Emp)al.get(i);     //提取集合元素
			if (emp.getEmpno().equals(empno)){   //判断是否相等
				System.out.println("找到该员工信息是");
				System.out.println("编号="+ empno);
				System.out.println("名字="+ emp.getName());
			}
		
			
		}
	}
	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);            //set方法更新(覆盖属性)
			}
		}
	}
	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);               //集合中删除元素
			}
		}
	}
	public void showall(){
		for(int i=0;i<al.size();i++){
			Emp emp=(Emp)al.get(i);
			System.out.println("第"+i+"员工的基本信息为:");
			System.out.println("名字为"+emp.getName());
			System.out.println("编号为"+emp.getEmpno());
			System.out.println("薪水为"+emp.getSal());
		}
	}
}
class Emp{
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getEmpno() {
		return Empno;
	}
	public void setEmpne(String empne) {
		Empno = empne;
	}
	public float getSal() {
		return sal;
	}
	public void setSal(float sal) {
		this.sal = sal;
	}
	private String name;
	private String Empno;
	private float  sal;
	
	public Emp(String name , String Empno,float sal){
		this.name=name;
		this.sal=sal;
		this.Empno=Empno;
	}
}
ArrayList可以添加重复的对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值