java 中 集合类相关问题

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:WINDOWSsystem。

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 採用的将对象存放在独立的空间中,并且在每一个空间中还保存下一个链接的索引 可是缺点就是查找很麻烦 要丛第一个索引開始







原文地址:https://www.cnblogs.com/lxjshuju/p/6845060.html