- 为何要用集合类:可以储存不同类型的数据,可以进行动态的删除和修改,不用考虑数组越界的问题。
- 软件开发常用的集合类:Vector,ArrayList,Stack,HashMap,Hashtable。
3.主要有一下几种:List,Map,Set,Queue结构的集合类。
关于ArrayList学习的代码:
1 package 集合类练习; 2 3 import java.util.*; 4 //public class ArrayList {如果这样定义就把util包里面的东西覆盖了,后面的就不能用了 5 public class ArrayListDemo { 6 /** 7 * 时间:2014年4月19日20:46:37 8 * 目的:演示java集合ArrayList的用法 9 */ 10 public static void main(String[] args) { 11 //定义ArrayList对象,array数组list链表 12 ArrayList al = new ArrayList(); 13 //显示大小 14 System.out.println("al大小是 "+al.size()); 15 //向al中加入数据(类型是object) 16 //创建一个职员 17 Clerk clerk1 = new Clerk("宋江",50,1000); 18 Clerk clerk2 = new Clerk("吴用", 45, 1200); 19 //将clerk1加入到al中 20 al.add(clerk1); 21 al.add(clerk2); 22 al.add(clerk1);//因为是引用,所以可以添加。 23 //显示大小 24 System.out.println("al大小是 "+al.size()); 25 26 //如何访问al中的对象(数据) 27 //访问第一个对象 28 //Clerk temp = (Clerk)al.get(0);//作为数组它第一个元素的下标是0. 29 //它返回的是object类型,必须强制转换为clerk(子类)。 30 //System.out.println("第一个的名字是:"+temp.getName()); 31 //遍历al中所有的对象 32 for (int i = 0; i < al.size(); i++) { 33 Clerk temp = (Clerk)al.get(i); 34 System.out.println("第一个的名字是:"+temp.getName()); 35 } 36 //如何删除一个对象 37 al.remove(0); 38 System.out.println("====删除第一个宋江===="); 39 for (int i = 0; i < al.size(); i++) { 40 Clerk temp = (Clerk)al.get(i); 41 System.out.println("第一个的名字是:"+temp.getName()); 42 } 43 } 44 45 } 46 class Clerk 47 { 48 private String name;//数据封装 49 private int age; 50 private float sal; 51 52 public Clerk(String name, int age, float sal) { 53 super(); 54 this.name = name; 55 this.age = age; 56 this.sal = sal; 57 } 58 59 //get和set类 60 public String getName() { 61 return name; 62 } 63 64 public void setName(String name) { 65 this.name = name; 66 } 67 68 public int getAge() { 69 return age; 70 } 71 72 public void setAge(int age) { 73 this.age = age; 74 } 75 76 public float getSal() { 77 return sal; 78 } 79 80 public void setSal(float sal) { 81 this.sal = sal; 82 } 83 }