Java集合ArrayList的应用
/*** * @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的应用相关推荐
- java集合-ArrayList
java集合 ArrayList Iterable Comparable(排序接口) 项目结构: class Dog implements Comparable<Dog> {private ...
- java集合-ArrayList学习笔记
集合和数组关系? 1) 集合是一种容器,可以存储多个数据. 2) 数组的长度是固定的,集合的长度是可变的. 3) 集合中存储的元素必须为引用类型数据,初始值为NULL Arra ...
- Java集合ArrayList
ArrayList List接口的一个实现类 内部封装了一个长度可变的数组对象 当存入的元素,超过数组长度时,会在内存中,分配一个更大的数组 来存储这些元素,可以看做是一个长度可变的数组 优点 允许通 ...
- Java集合—ArrayList底层原理
原文作者:0 errors 0 warnings 原文地址:用大白话告诉你ArrayList的底层原理 目录 一.数据结构 二.线程安全性 三.继承关系 四.构造方法 五.add()方法 六.扩容机制 ...
- Java集合-ArrayList源码解析-JDK1.8
◆ ArrayList简介 ◆ ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List, RandomAcc ...
- Java集合 ArrayList 扩容
Java的集合框架 集合的分类 可以分为单列集合和双列集合 单列集合主要有Collection下面的List与Set,其中List最长被用到的是ArrayList与LinkedList以及Vctor三 ...
- Java 集合 ArrayList 需要知道的几个问题
问:Arraylist 的动态扩容机制是如何自动增加的?简单说说你理解的流程? 答:当在 ArrayList 中增加一个对象时 Java 会去检查 Arraylist 以确保已存在的数组中有足够的容量 ...
- 深入Java集合ArrayList的源码解析
现在由大恶人付有杰来从增删改查几个角度轻度解析ArrayList的源码 首先ArrayList的底层数据结构非常简单,就是一个数组. 从源码第115行我们可以得出信息,他的默认数组长度是10. /** ...
- Java 集合 —— ArrayList 分析
List 集合的特征: 有序 可以重复 可以随机访问(使用下标 添加,删除,访问) ArrayList 是 List 的实现类,所以 ArrayList 具有 List 的特征 ArrayList 是 ...
- 三十二、Java集合中的ArrayList
@Author:Runsen @Date:2020/6/3 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...
最新文章
- _protoype原型初识.
- Transformer落地:使用话语重写器改进多轮人机对话
- Metropolis light transpotation
- JSP常用Form表单控件
- 爱荷华大学计算机科学专业,爱荷华大学计算机科学专业好不好?专业设置详情一览...
- 使用vue实现自定义搜索功能
- Linux shell中的那些小把戏
- Python基础学习笔记之(二)
- JTS(Geometry)工具类
- 为什么很多人赚不到钱?
- Logstash 初探
- 闪耀超颖光栅的建模与设计
- 循环输出100以内的素数
- 高校大数据产品有哪些
- C#窗体 绘画一棵树
- U盘装系统后容量变小解决方法
- CentOS 8 如何更换yum源
- hssfrow 单元格样式_POI设置Excel单元格样式
- ev3 编程中各程序块之间的关联
- html5弹性盒子的作用,flexbox弹性盒子,真正意义上的布局样式
热门文章
- php中如何判断目录是否存在文件_PHP判断指定目录下是否存在文件
- java io 字节流_Java之IO-字节流
- Spark.shuffle.file.buffer 参数入门
- scala 隐式参数入门及应用
- Linux 学习笔记 二
- HDOJ(HDU) 1785 You Are All Excellent(角度运算)
- Vlan 划分和 VLan间DHCP 分配
- 突破大文件上传 和内网ip的端口转发
- Don't Panic! KRACK 没你想象的那么糟
- JavaScript巧学巧用