1,Java中Collection和Collections的差别
java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。
Collection接口在Java 类库中有非常多详细的实现。Collection接口的意义是为各种详细的集合提供了最大化的统一操作方式。
java.util.Collections 是一个包装类。它包括有各种有关集合操作的静态多态方法。
此类不能实例化。就像一个工具类,服务于Java的Collection框架。
2,List, Set, Map是否继承自Collection接口?
List,Set是 Map不是
3,ArrayList和Vector的差别。
一.同步性:Vector是线程安全的,也就是说是同步的。而ArrayList是线程序不安全的。不是同步的
二.数据增长:当须要增长时,Vector默认增长为原来一培。而ArrayList却是原来的一半
4,HashMap和Hashtable的差别
一.历史原因:Hashtable是基于陈旧的Dictionary类的。HashMap是java 1.2引进的Map接口的一个实现
二.同步性:Hashtable是线程安全的。也就是说是同步的。而HashMap是线程序不安全的,不是同步的
三.值:仅仅有HashMap能够让你将空值作为一个表的条目的key或value
一些资料建议,当须要同步时。用Hashtable。反之用HashMap。可是,由于在须要时,HashMap能够被同步。HashMap的功能比Hashtable的功能很多其它,并且它不是基于一个陈旧的类的。所以有人觉得。在各种情况下。HashMap都优先于Hashtable。
关于Properties
有时侯。你可能想用一个hashtable来映射key的字符串到value的字符串。dos、Windows和Unix中的环境字符串就有一些样例,如key的字符串path被映射到value的字符串C:\WINDOWS;C:\WINDOWS\system。
Hashtables是表示这些的一个简单的方法,但Java提供了第二种方法。
Java.util.Properties类是Hashtable的一个子类,设计用于String keys和values。
Properties对象的使用方法同Hashtable的使用方法相象。可是类添加了两个节省时间的方法。你应该知道。
Store()方法把一个Properties对象的内容以一种可读的形式保存到一个文件里。Load()方法正好相反,用来读取文件。并设定Properties对象来包括keys和values。
注意,由于Properties扩展了Hashtable,你能够用超类的put()方法来加入不是String对象的keys和values。
这是不可取的。另外。假设你将store()用于一个不包括String对象的Properties对象,store()将失败。作为put()和get()的替代。你应该用setProperty()和getProperty(),它们用String參数。
5,ArrayList 和LinkedList 的差别
ArrayList 採用的是数组形式来保存对象的,这样的方式将对象放在连续的位置中,所以最大的缺点就是插入删除时很麻烦
LinkedList 採用的将对象存放在独立的空间中,并且在每一个空间中还保存下一个链接的索引 可是缺点就是查找很麻烦 要丛第一个索引開始