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

java 中 集合类相关问题的更多相关文章

  1. 【Socket编程】Java中网络相关API的应用

    Java中网络相关API的应用 一.InetAddress类 InetAddress类用于标识网络上的硬件资源,表示互联网协议(IP)地址. InetAddress类没有构造方法,所以不能直接new出 ...

  2. 首先java中集合类主要有两大分支

    本文仅分析部分原理和集合类的特点,不分析源码,旨在对java的集合类有一个整体的认识,理解各个不同类的关联和区别,让大家在不同的环境下学会选择不同的类来处理. Java中的集合类包含的内容很多而且很重 ...

  3. Java中路径相关的获取方式

    [参考文章]:Java文件路径(getResource) [参考文章]:关于java:如何获取正在运行的JAR文件的路径? [参考文章]:关于Class.getResource和ClassLoader ...

  4. JAVA中HashMap相关知识的总结(一)

    Java中HashMap在jdk1.7和jdk1.8中的区别点: 在jdk1.7中是用数组+链表形式存储,1.8采用数组+链表/红黑树形式 Jdk1.8中由链表转为红黑树是长度大于8,由红黑树转为链表 ...

  5. java中集合类中Collection接口中的List接口的常用方法熟悉

    1:集合类,在java语言中的java.util包提供了一些集合类,这些集合类又被称作容器. 2:区别集合类和数组.(1)数组的长度是固定的,集合的长度是可变的.(2)数组是用来存放基本数据类型的,集 ...

  6. java中Object相关的几个方法

    protected Object clone()创建并返回此对象的一个副本. String     toString()返回该对象的字符串表示. boolean equals(Object obj)指 ...

  7. Java中定时器相关实现的介绍与对比之:Timer和TimerTask

    Timer和TimerTask JDK自带,具体的定时任务由TimerTask指定,定时任务的执行调度由Timer设定.Timer和TimerTask均在包java.util里实现. 本文基于java ...

  8. java中集合类详解

    集合类说明及区别 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └W ...

  9. java中集合类中Collection接口中的Map接口的常用方法熟悉

    1:Map接口提供了将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.Map接口中同样提供了集合的常用方法. 2:由于Map集合中的元素是通过key,value,进行存储的,要 ...

随机推荐

  1. 设计模式之空对象模式(php实现)

    github地址:https://github.com/ZQCard/design_pattern /** * 在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象 ...

  2. win10 下常用shell命令

    shell脚本命令 单行过长如何换行 在一行的结尾加上^即可 , 打印当前目录 %cd%

  3. linux内存查看方法

    cat /proc/meminfo 查看RAM使用情况,最简单的方法是通过/proc/meminfo.这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显 ...

  4. apache的proxy代理总访问后端web的第一个虚拟主机

    先查看cat /usr/local/apache2/modules 时候有mod_proxy.so  mod_proxy_http.so mod_proxy_connect 如果没有,使用apache ...

  5. Java算法题:兔子问题

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 解题思路: public int exp(int ...

  6. ARCGIS FLEX API加载google地图、百度地图、天地图(转)

    http://www.cnblogs.com/chenyuming507950417/ Flex加载google地图.百度地图以及天地图作底图 一  Flex加载Google地图作底图 (1)帮助类G ...

  7. 微信公众号 - js传入时间戳换算(以前几天、几小时...)

    // 获取当前时间戳 function timestamps() { return Math.round(new Date().getTime() / 1000).toString() } // 距离 ...

  8. UISearchBar 点击取消回到原来位置时会跳动的解决方法

    今天改动项目里面測试给提的bug.有一个bug就是当点击UISearchBar的取消buttonUISearchBar回到原来位置时会发生偏差50像素左右的跳动,细致看看前面几个程序写的那个页面,也没 ...

  9. flask和pymongo的完美搭配

    1.如何进行mongo数据库的链接 import pymongo client = pymongo.MongoClient(host='192.168.*.*', port=27017,) db_au ...

  10. JavaScript数组归并方法reduce

    示例代码: <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF ...