错题整理——集合

类是单继承多实现;接口多继承

继承(实线)关系和实现(虚线)关系弄清楚

线程安全的类:

vector:就比arraylist多了个同步化机制(线程安全)

statck:堆栈类,先进后出

hashtable:就比hashmap多了个线程安全

Properties :hashtable的一个子类

enumeration:枚举,相当于迭代器

关于HashMap与HashTable,以下说法错误的是(B)

A 两者都是用key-value方式获取数据

B Hashtable允许null值作为key和value,而HashMap不可以

C HashMap不是同步的,而Hashtable是同步的

D 迭代HashMap采用快速失败机制,而Hashtable不是

解析:

A:HashMap和Hashtable两个类都实现了Map接口,二者保存K-V对(key-value对)

B:HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。

C:Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

D:由所有HashMap类的“collection 视图方法”所返回的迭代器都是快速失败的:在迭代器创建之后,如果从结构上对映射进行修改,除非通过迭代器本身的 remove 方法,其他任何时间任何方式的修改,迭代器都将抛出ConcurrentModificationException。Hashtable和HashMap的区别主要是前者是同步的,后者是快速失败机制保证

 

猜你喜欢

转载自blog.csdn.net/hd12370/article/details/81358435
今日推荐