这是一个面试经常问到的问题,我就被问到过,原来还真的没有考虑过这样的问题,只是去比较该用Vector还是ArrayList,该用 Hashtable还是该用HashMap了,我喜欢用示例测试,并在其中加上附注,这样更好理解,如需要看更详细的集合之间的关系,请参看: 集合詳細學習(包括Vector、ArrayList、List等等的比較與實例)。
import java.util.*;
/**
*List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个有什么区别?
*下面的例子可以回答这个问题
*@authorhttp://blog.csdn.net/fenglibing
*
*/
publicclass ListAndHashtable {
//将构造器私有化,就不能对别的对象创建新对象了。
private ListAndHashtable()
{
testList();
testHashtable();
}
/**
*@paramargs
*/
publicstaticvoid main(String[] args) {
// TODO Auto-generated method stub
new ListAndHashtable();//但是这里可以正常使用.
}
void testList()
{
List list=new ArrayList();
list.add("OK1");
list.add("OK1");//测试是否允许重复值
list.add(0,"OK2");
list.add(0,"OK2");//测试是否在指定插入位置的时候,把前面的值替换掉
list.add("OK3");
for(int i=0;i<list.size();i++)
{

