为什么需要集合?(数组定义好了就不能修改了 )
学习了数组之后,充分体会到了数组的优越性,就是可以存放同一类型的数据,但是我们假设有这样的需求,看看如何解决?
请做一个公司的职员薪水管理系统,要求完成如下功能:
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
删除前名字是:宋江
删除前名字是:吴用
删除前名字是:宋江
删除吴用
删除后名字是:宋江
删除后名字是:宋江
- 大小: 21.1 KB
- 大小: 42 KB
分享到:
相关推荐
java集合 java集合思维导图 java集合总结
java泛型集合 java集合 集合 java Collection 排序 集合排序
java集合
Java 集合排序 及java集合类 详解.pdf
Java 集合排序及java 集合类详解,Java里面最重要、最常用也就是集合那部分了,能够用好集合和理解好集合对于做Java程序的开发拥有无比的好处。本教程详细解释了关于Java中的集合是如何实现的, 以及他们的实现原理...
Java集合框架总结Java集合框架总结Java集合框架总结Java集合框架总结Java集合框架总结Java集合框架总结
键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台java 集合练习题
Java集合排序及java集合类详解,对list,set,map等java集合进行详细讲解
java集合基础习题及答案,
Java集合框架详解Java集合框架详解Java集合框架详解
内含大量java集合框架方面常被面试官问到的经典面试题。
Java集合整体讲解,其中包含了Collection,Map,Iterator和一些工具类,以及集合整体大框架
Java集合Collection接口List接口重复有序List接口的主要实现类,底层用数组实现优点访问速度快缺点插入和删除开销大:增加和删除元素时,需要对整个
xmind格式的Java集合框架学习导图,包括Collection接口/Map接口以及具体实现类。 同样包含大厂面试题,也在导图中有所体现。 能学到什么: 更加成体系的知识框架,更加全面的、系统的知识。 思维导图: 思维导图具有...
java集合框架图java集合框架图java集合框架图java集合框架图java集合框架图
Java集合详解,详细讲解java的集合类,对java集合类的最详细的讲解。我自己的总结,保证大家看了很有收获
该文档主要详细总结了Java集合的相关知识,包括Collection和Map接口、Collection接口的子接口List和Set接口以及具体的实现类、存储原理等;Map接口的子接口HashMap、LinkedHashMap、TreeMap、Properties等
JAVA 经典算法集合(1),JAVA 经典算法集合(1),JAVA 经典算法集合(1),JAVA 经典算法集合(1),JAVA 经典算法集合(1),JAVA 经典算法集合(1),JAVA 经典算法集合(1)JAVA 经典算法集合(1),JAVA 经典...
集合是将多个元素组成一个单元的...Java集合框架,为我们提供了一套性能优良、使用方便的接口和类,我们不必再重新发明轮子,只需学会如何使用它们,就可以处理实际应用中出现的问题了Java集合框架位于java.util包中