- 为何要用集合类:可以储存不同类型的数据,可以进行动态的删除和修改,不用考虑数组越界的问题。
- 软件开发常用的集合类:Vector,ArrayList,Stack,HashMap,Hashtable。
3.主要有一下几种:List,Map,Set,Queue结构的集合类。
关于ArrayList学习的代码:
package 集合类练习; import java.util.*;
//public class ArrayList {如果这样定义就把util包里面的东西覆盖了,后面的就不能用了
public class ArrayListDemo {
/**
* 时间:2014年4月19日20:46:37
* 目的:演示java集合ArrayList的用法
*/
public static void main(String[] args) {
//定义ArrayList对象,array数组list链表
ArrayList al = new ArrayList();
//显示大小
System.out.println("al大小是 "+al.size());
//向al中加入数据(类型是object)
//创建一个职员
Clerk clerk1 = new Clerk("宋江",50,1000);
Clerk clerk2 = new Clerk("吴用", 45, 1200);
//将clerk1加入到al中
al.add(clerk1);
al.add(clerk2);
al.add(clerk1);//因为是引用,所以可以添加。
//显示大小
System.out.println("al大小是 "+al.size()); //如何访问al中的对象(数据)
//访问第一个对象
//Clerk temp = (Clerk)al.get(0);//作为数组它第一个元素的下标是0.
//它返回的是object类型,必须强制转换为clerk(子类)。
//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());
}
//如何删除一个对象
al.remove(0);
System.out.println("====删除第一个宋江====");
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 Clerk(String name, int age, float sal) {
super();
this.name = name;
this.age = age;
this.sal = sal;
} //get和set类
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;
}
}