web服务器23423.doc
文本预览下载声明
第三节:java集合框架
目标: 1.明确java常用集合的继承体系;
2.熟练使用Set,List,Map接口的实现类。
1.集合框架总体结构 2
2.Set接口和List接口 2
3.java.util.Set接口实现类的用法: 3
4.java.util.List接口的用法 4
5.java.util.Map接口应用: 5
总结和任务: 7
1.集合框架总体结构
Java中集合类定义主要是java.util.*包下面,常用的集合,这三类的区别是Set接口及其子类,set提供的是一个无序的集合;List接口及其子类,List提供的是一个有序的集合;Map接口及其子类,Map提供了一个映射(对应)关系的集合数据结构;Queue(队列)接口及其子类,提供了于队列的集合体系。”容器“---就像数组,就像前面我们自己定义的队列。
2.Set接口和List接口
Set是最简单的一种集合,它的对象不按特定方式排序,只是简单的把对象加入集合中,就像往口袋里放东西。对集中成员的访问和操作是通过集中对象的引用进行的,所以集中不能有重复对象;而LIst的主要特征是其对象以线性方式存储,没有特定顺序,只有一个开头和一个结尾,当然,它与根本没有顺序的集是不同的。列表在数据结构中分别表现为:数组和向量、链表、堆栈、队列。关于实现列表的集合类,是我们日常工作中经常用到的;从类图中可以看到,Set 和List都是继承了Collection接口的子接口,而这类集合都有自己的实现;
在Collection是Set、List、Queue的顶层接口,这个接口中定义了如下主要方法,这些方法在Set或List的实现类中都可以直接使用:
?boolean add(E?o) : 向集合中加入一个对象,如果集中己有这个对象,则返回false; ?boolean addAll(Collection? extends E?c) 将另外一个集合中的所有对象加入这个集合 ?void clear() 清除集合中的所有对象,执行过后,集合中不在装有对象 boolean contains(Object?o) 判断集合是是否存在某个对象 boolean containsAll(Collection??c) 判断集合中是否全部存在另外一个集合中的对象 boolean equals(Object?o) int hashCode() 可重写的来自父类的方法 boolean isEmpty() 判断集合是否为空,在执行clear()后调用这个方法,返回true ?IteratorE iterator() 得到这个集合的一个迭代对象 boolean remove(Object?o) 从集合中移除掉一个对象 ?int size() 返回集合内元素的个数 ?Object[] toArray() 将集合转变一个数组对象 Set是一个接口定义,所以我们只能使用它的实现子类,Set接口常用的子类有java.util.HashSet、java.util. TreeSet;使用起来是相当的简单,请看如下代码:public class SetTest {
//程序入口
public static void main(String[] args) {
SetTest test=new SetTest();
java.util.Collection sSet=test.getUserSet(3);
System.out.println(集合中共有元素: +sSet.size());
//将Set中所有元素取出打印:
//set是无序的,所以不能根据索引取,得到set的迭带器:
java.util.IteratorStudent it=sSet.iterator();
//遍历:
while(it.hasNext()){
Student st=it.next();
st.showInfo();
}
}
/**
* 取得指定数量UserInfo对象
* @param userCount:要创建的用户个数
* @return
*/
public java.util.Collection getUserSet(int userCount){
//创建一个集合对象
Set sSet =new java.util.HashSet();
for(int i=0;iuserCount;i++){
Student ui=new Student(用户_+((char)(65+i)),i+1);
sSet.add(ui);
}
显示全部