1。添加
put(K key, V value)
2。删除
clear()
remove(Object key)
3。判断
containsKey(Object key)
containsValue(Object value)
isEmpty()
4。获取
get(Object key)
size()
values()
entrySet()
keySet()
6.
说出
ArrayList,Vector, LinkedList 的存储性能和特性?【基础】
答:
ArrayList
和
Vector:数组方式存储数据,索引数据快而插入数据慢
Vector
由于使用了
synchronized
方法(线程安全),通常性能上较
ArrayList 差
LinkedList
使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历 ,
但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
7.Collection
和
Collections 的区别?【基础】
答:
Collection
是
java.util 下的接口,它是各种集合的父接口,继承于它的
接口主要有
Set
和
List
;
Collections
是个
java.util 下的类,是针对集合的帮助类,提供一系列静态方法实现对各种集合的搜索、
排序、线程安全化等操作 。
8.HashMap
和
Hashtable
的区别
? 【基础】
答:二者都实现了
Map 接口,是将惟一键映射到特定的值上;主要区别在于:
1)HashMap
没有排序,允许一个
null
键和多个
null
值
,
而
Hashtable
不允许 ;
2)HashMap
把
Hashtable
的
contains
方法去掉了,改成
containsvalue 和
containsKey,
因为
contains 方法容易让人引起误解;
3)Hashtable
继承自
Dictionary
类 ,
HashMap
是
Java1.2
引进的
Map
接口的实 现 ;
4)Hashtable
的方法是
Synchronize
的,而
HashMap 不是,在多个线程访问
Hashtable
时,不需要自己为它的方法实现同步,而
HashMap
就必须为之提供 外
同步。
Hashtable
和
HashMap
采用的
hash/rehash
算法大致一样,所以性能不会有 很
大的差异。
9.Arraylist
与
Vector 区别?【基础】
答:就
ArrayList
与
Vector 主要从二方面来说:
1
)同步性:
Vector
是线程安全的(同步),而
ArrayList 是线程序不安全的;
2
)数据增长:当需要增长时
,Vector
默认增长一倍,而
ArrayList 却是一半。
10.List
、
Map
、
Set 三个接口,存取元素时,各有什么特点?【基础】
答:
List
以特定次序来持有元素,可有重复元素。
Set 无法拥有重复元素,内部排序。
Map
保存
key-value 值,value 可多值。
11.Set
里的元素是不能重复的,那么用什么方法来区分重复与否呢
?
是用
== 还
是
equals()?
它们有何区别
? 【基础】