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. solrCloud分布式检索流程

    FROM: http://blog.csdn.net/duck_genuine/article/details/17014991 好久没写solr的文章了,刚好需要在公司作个分享,先总结一些先. 引用 ...

  2. etcd的原理分析

    k8s集群使用etcd作为它的数据后端,etcd是一种无状态的分布式数据存储集群. 数据以key-value的形式存储在其中. 今天同事针对etcd集群的运作原理做了一个讲座,总结一下. A. etc ...

  3. zabbix通过snmp监控windows主机

    1.开启Windows的snmp功能 2.配置snmp服务 设置snmp服务社区名称及允许的主机,设置完成后重启snmp服务 3.在zabbix server上测试 测试需要使用命令snmpwalk, ...

  4. 2017.7.18 linux下ELK环境搭建

    参考来自:Linux日志分析ELK环境搭建  另一篇博文:2017.7.18 windows下ELK环境搭建   0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1 ...

  5. 数组练习:各种数组方法的使用&&事件练习:封装兼容性添加、删除事件的函数&&星级评分系统

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. asp.net中UpdatePanel数据加载成功后回调

    //添加UpdatePanel加载成功后执行的js方法 Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(onPageLoade ...

  7. hdu 2871 Memory Control(线段树)

    题目链接:hdu 2871 Memory Control 题目大意:模拟一个内存分配机制. Reset:重置,释放全部空间 New x:申请内存为x的空间,输出左地址 Free x:释放地址x所在的内 ...

  8. 【SpringMVC学习04】Spring、MyBatis和SpringMVC的整合

    前两篇springmvc的文章中都没有和mybatis整合,都是使用静态数据来模拟的,但是springmvc开发不可能不整合mybatis,另外mybatis和spring的整合我之前学习mybati ...

  9. oracle中sql执行性能关注点

    繁琐复杂的执行计划.可能迷了开发人员的眼.导致一条性感又傻X的SQL 在服务器上跑得特欢乐     有介于此.重点抓住几个部分.至于其他的嘛.当然是.非礼勿视咯..          ㈠ 返回行的数量 ...

  10. Debian NAT共享上网

    如果Linux主机有两个网卡,比如一个有线.一个无线,当无线连接后,其他机器即可通过有线共享上网,为了方便叙述,假设环境如下: A机器有两块网卡,eth0和ws0,其中ws0为无线网卡,已连接wifi ...