(笔记)关于集合中ArrayList例子,集合arraylist
分享于 点击 43804 次 点评:53
(笔记)关于集合中ArrayList例子,集合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可以添加重复的对象。相关文章
- 暂无相关文章
用户点评