/*** * @author Administrator* 功能:Java集合类ArrayList的使用*/
package com.test;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;public class Test2 {public static void main(String[] args) throws Exception{// TODO Auto-generated method stub//演示
//        String a = new String("abc");
//        String b = new String("abc");
//        //==比较的是字符串的地址,equals比较的字符串的内容
//        if(a == b)
//        {
//            //该句不会被输出
//            System.out.println("OK");
//        }
//        if(a.equals(b)) //a.equals(b)返回的是布尔值
//        {
//            //该句会被输出
//            System.out.println("OK!");
//        }//创建EmpManage对象EmpManage em = 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("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());Emp emp = new Emp(empNo, name, sal);em.addEmp(emp);System.out.println("添加成功!");}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")){//退出系统,终止当前正在运行的Java虚拟机//参数用作状态码;根据惯例,非 0 的状态码表示异常终止//-1时Java虚拟机会做检测工资,0的话是正常退出System.exit(0);//System.exit(-1);
            }}}
}// 雇员管理类
class EmpManage {private ArrayList al = null;// 构造函数最主要的作用就是初始化成员变量public EmpManage() {al = new ArrayList();}// 加入员工public void addEmp(Emp emp) {al.add(emp);}// 根据员工号显示该员工的相关信息public void showInfo(String empNo) {// 遍历整个ArrayListfor (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;}}

转载于:https://www.cnblogs.com/beautiful-code/p/5346482.html

Java集合ArrayList的应用相关推荐

  1. java集合-ArrayList

    java集合 ArrayList Iterable Comparable(排序接口) 项目结构: class Dog implements Comparable<Dog> {private ...

  2. java集合-ArrayList学习笔记

    集合和数组关系? 1)     集合是一种容器,可以存储多个数据. 2)     数组的长度是固定的,集合的长度是可变的. 3)     集合中存储的元素必须为引用类型数据,初始值为NULL Arra ...

  3. Java集合ArrayList

    ArrayList List接口的一个实现类 内部封装了一个长度可变的数组对象 当存入的元素,超过数组长度时,会在内存中,分配一个更大的数组 来存储这些元素,可以看做是一个长度可变的数组 优点 允许通 ...

  4. Java集合—ArrayList底层原理

    原文作者:0 errors 0 warnings 原文地址:用大白话告诉你ArrayList的底层原理 目录 一.数据结构 二.线程安全性 三.继承关系 四.构造方法 五.add()方法 六.扩容机制 ...

  5. Java集合-ArrayList源码解析-JDK1.8

    ◆ ArrayList简介 ◆ ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List, RandomAcc ...

  6. Java集合 ArrayList 扩容

    Java的集合框架 集合的分类 可以分为单列集合和双列集合 单列集合主要有Collection下面的List与Set,其中List最长被用到的是ArrayList与LinkedList以及Vctor三 ...

  7. Java 集合 ArrayList 需要知道的几个问题

    问:Arraylist 的动态扩容机制是如何自动增加的?简单说说你理解的流程? 答:当在 ArrayList 中增加一个对象时 Java 会去检查 Arraylist 以确保已存在的数组中有足够的容量 ...

  8. 深入Java集合ArrayList的源码解析

    现在由大恶人付有杰来从增删改查几个角度轻度解析ArrayList的源码 首先ArrayList的底层数据结构非常简单,就是一个数组. 从源码第115行我们可以得出信息,他的默认数组长度是10. /** ...

  9. Java 集合 —— ArrayList 分析

    List 集合的特征: 有序 可以重复 可以随机访问(使用下标 添加,删除,访问) ArrayList 是 List 的实现类,所以 ArrayList 具有 List 的特征 ArrayList 是 ...

  10. 三十二、Java集合中的ArrayList

    @Author:Runsen @Date:2020/6/3 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

最新文章

  1. _protoype原型初识.
  2. Transformer落地:使用话语重写器改进多轮人机对话
  3. Metropolis light transpotation
  4. JSP常用Form表单控件
  5. 爱荷华大学计算机科学专业,爱荷华大学计算机科学专业好不好?专业设置详情一览...
  6. 使用vue实现自定义搜索功能
  7. Linux shell中的那些小把戏
  8. Python基础学习笔记之(二)
  9. JTS(Geometry)工具类
  10. 为什么很多人赚不到钱?
  11. Logstash 初探
  12. 闪耀超颖光栅的建模与设计
  13. 循环输出100以内的素数
  14. 高校大数据产品有哪些
  15. C#窗体 绘画一棵树
  16. U盘装系统后容量变小解决方法
  17. CentOS 8 如何更换yum源
  18. hssfrow 单元格样式_POI设置Excel单元格样式
  19. ev3 编程中各程序块之间的关联
  20. html5弹性盒子的作用,flexbox弹性盒子,真正意义上的布局样式

热门文章

  1. php中如何判断目录是否存在文件_PHP判断指定目录下是否存在文件
  2. java io 字节流_Java之IO-字节流
  3. Spark.shuffle.file.buffer 参数入门
  4. scala 隐式参数入门及应用
  5. Linux 学习笔记 二
  6. HDOJ(HDU) 1785 You Are All Excellent(角度运算)
  7. Vlan 划分和 VLan间DHCP 分配
  8. 突破大文件上传 和内网ip的端口转发
  9. Don't Panic! KRACK 没你想象的那么糟
  10. JavaScript巧学巧用