java 集合1

 

为什么需要集合?(数组定义好了就不能修改了 )

      学习了数组之后,充分体会到了数组的优越性,就是可以存放同一类型的数据,但是我们假设有这样的需求,看看如何解决?

       请做一个公司的职员薪水管理系统,要求完成如下功能:

1)当有新员工时,将该员工加入到管理系统

2)可以根据员工号,显示该员工的信息

3)可以显示所有员工信息

4)可以修改员工的薪水

5)当员工离职的时候,将该员工从管理系统中删除

6)可以按照薪水从低到高顺序排序{思考题}

7)可以统计员工的平均工资和最低最高工资。

 

       这时候我们可以用链表集合来做 我们想,如果这样一种数组,它可以动态的改变就好了,java设计者为我们提供一系列的集合类,我们来看看,要是集合不够用 我们在使用链表解决。

图1

图2


 

 

从上面的图形我们可以看出来java集合类主要有一下几种:

List结构的集合类

ArrayList类,LinkedList类,Vector类,Stack类

Map结构的集合类

HashMap类,Hashtable类

Set结构的集合类

HashSet类,TreeSet类

Queue结构的集合

Queue接口

 

 

 

 

 

/**

 * 功能:演示java结合的用法

 * @author Administrator

 *

 */

//引用一个包

import java.util.*;

public class Demo7 {

 

public static void main(String args[]){

//定义数组

// Clerk clerk[]=new Clerk[20];

//1定义一个ArrayList对象

ArrayList al=new ArrayList();

//显示大小

System.out.println("al大小是:"+al.size());

//向al中加入数据(类型是object)

//创建一个职员

Clerk clerk1=new Clerk("宋江",50,1000);

Clerk clerk2=new Clerk("吴用",300,5000);

//??可不可以放入同样的对象

Clerk clerk3=new Clerk("宋江",50,1000);

//将clerk1加入到al中

al.add(clerk1);

al.add(clerk2);

al.add(clerk3);

//显示大小

System.out.println("al大小是:"+al.size());

//如何访问al中的对象(数据)

//访问第一对象

// Clerk temp=(Clerk)al.get(0);

// System.out.println("第一个人的名字是:"+temp.getName());

//遍历al所有的对象

for (int i = 0; i < al.size(); i++) {

Clerk temp=(Clerk)al.get(i);

System.out.println("删除前名字是:"+temp.getName());

}

//如何从a1中删除一个对象

al.remove(1);

System.out.println("删除吴用");

//遍历al所有的对象

for (int i = 0; i < al.size(); i++) {

Clerk temp=(Clerk)al.get(i);

System.out.println("删除后名字是:"+temp.getName());

}

}

}

//定义一个员工类

class Clerk{

private String name;

private int age;

private float sal;

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;

}

 

public Clerk(String name,int age,float sal){

this.name=name;

this.age=age;

this.sal=sal;

}

}

 

输出:al大小是:0

al大小是:3

删除前名字是:宋江

删除前名字是:吴用

删除前名字是:宋江

删除吴用

删除后名字是:宋江

删除后名字是:宋江


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值