JAVA API系列----集合类

·集合类用于存储一组对象,其中每个对象称为元素。如Vector、Enumeration、ArrayList、Collection、Set、List等集合类和接口。

·Vector类和Enumeration接口

 Vector是JAVA提供的一种高级数据结构,可用于保存一系列的对象,由于JAVA不支持动态数组,Vector类提供了一种与动态数组相似的功  能:如果将若干对象保存在一种数据结构中,但不能预先确定要保存对象的数目时,可选择Vector类。


·编程举例:将键盘上输入的一个数字序列中的每位数字存储在Vector对象中,然后在屏幕上打印出每位数字相加的结果,如,输入32,打印出5;输入1234,打印出10;

·Enumeration的nextElement可以逐一取出Vector中的Object类型的对象,使用时需要进行类型转换。Enumeration对象内部有一个指示器,指向nextElement()方法所要返回的对象的位置,在第一次调用nextElement()方法之前,指示器指向第一个对象或者空对象。

Test Code:

 

·Collection接口与Iterator接口

·Collection是接口,不能直接用Collection创建实例对象,必须用implement了Collection接口的类来创建实例。

·编程举例:用ArrayList和Iterator改写上面的例子程序。

 总结:

·Vector中所有方法都是线程同步的,如果有两个线程并发访问Vector对象是安全的。需要额外的开销用于同步监视器的运行,使程序的效率降低。

·ArrayList中的所有方法都是不同步的,若不存在同步的问题,则使用Vector安全性高。若有同步问题,则需要程序员自己对ArrayList中方法进行同步处理。


·Collection接口、Set接口、List接口的区别:

·Collection是Set和List的父类,Collection接口中各个元素对象之间没有指定的顺序,允许有重复元素和多个null元素对象,不能实现排序。

·Set各元素对象之间没有指定的顺序,但是不允许有重复元素,最多允许有一个null元素对象。

·List各个元素对象之间有指定的顺序,允许有重复元素和多个null元素对象,可以进行排序。


· Enumeration接口只有两个方法:boolean hasMoreElements(), E nextElement()

 Iterator接口有三个方法:boolean hasNext(), E next(), void remove()

另外还有个Iterator接口,和Enumeration是差不多的,不过名称比较短,通常推荐用Iterator。

Iterator会检查collection是否被其他线程改动,若被改动则会fail。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值