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:\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 中 集合类相关问题的更多相关文章
- 【Socket编程】Java中网络相关API的应用
Java中网络相关API的应用 一.InetAddress类 InetAddress类用于标识网络上的硬件资源,表示互联网协议(IP)地址. InetAddress类没有构造方法,所以不能直接new出 ...
- 首先java中集合类主要有两大分支
本文仅分析部分原理和集合类的特点,不分析源码,旨在对java的集合类有一个整体的认识,理解各个不同类的关联和区别,让大家在不同的环境下学会选择不同的类来处理. Java中的集合类包含的内容很多而且很重 ...
- Java中路径相关的获取方式
[参考文章]:Java文件路径(getResource) [参考文章]:关于java:如何获取正在运行的JAR文件的路径? [参考文章]:关于Class.getResource和ClassLoader ...
- JAVA中HashMap相关知识的总结(一)
Java中HashMap在jdk1.7和jdk1.8中的区别点: 在jdk1.7中是用数组+链表形式存储,1.8采用数组+链表/红黑树形式 Jdk1.8中由链表转为红黑树是长度大于8,由红黑树转为链表 ...
- java中集合类中Collection接口中的List接口的常用方法熟悉
1:集合类,在java语言中的java.util包提供了一些集合类,这些集合类又被称作容器. 2:区别集合类和数组.(1)数组的长度是固定的,集合的长度是可变的.(2)数组是用来存放基本数据类型的,集 ...
- java中Object相关的几个方法
protected Object clone()创建并返回此对象的一个副本. String toString()返回该对象的字符串表示. boolean equals(Object obj)指 ...
- Java中定时器相关实现的介绍与对比之:Timer和TimerTask
Timer和TimerTask JDK自带,具体的定时任务由TimerTask指定,定时任务的执行调度由Timer设定.Timer和TimerTask均在包java.util里实现. 本文基于java ...
- java中集合类详解
集合类说明及区别 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └W ...
- java中集合类中Collection接口中的Map接口的常用方法熟悉
1:Map接口提供了将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.Map接口中同样提供了集合的常用方法. 2:由于Map集合中的元素是通过key,value,进行存储的,要 ...
随机推荐
- apache 启动脚本加入系统服务列表
第一步:cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd第二步:vim /etc/init.d/httpd在第一行#!/bin/sh下增加两行 ...
- HDFS源码分析之UnderReplicatedBlocks(一)
http://blog.csdn.net/lipeng_bigdata/article/details/51160359 UnderReplicatedBlocks是HDFS中关于块复制的一个重要数据 ...
- 联想T470设置U盘启动
联想T470设置U盘启动 学习了:http://www.udaxia.com/upqd/10092.html # F12 in Enter in USB HDD 如果不行: App Menu > ...
- HTML5 Canvas 描画渐开线
渐开线(evolent):在平面上,一条动直线(发生线)沿着一个固定的圆(基圆)作滚动的过程中,此直线上任意一点的轨迹,称为此基圆的一条渐开线.如果将一个圆轴固定在一个平面上,轴上缠线,拉紧一个线头, ...
- 使用Java取得本机IP和机器名
try { InetAddress addr = InetAddress.getLocalHost(); String ip=addr.getHostAddress().toString();//获得 ...
- Picasso自定义缓存目录
项目做完终于有点自己的时间了,就想看点源码涨涨姿势,那就看看Picasso这个牛逼哄哄的图片加载框架吧,当然这个也是自己最喜欢的图片加载框架. 实际项目中可能有需求自己定制图片的缓存目录,那么就需要自 ...
- SQL SERVER 使用订阅发布同步数据库(转)
一.数据库复制涉及 1.发布服务器: 数据的来源服务器,维护源数据,决定哪些数据将被分发,检测哪些数据发生了修改,并将这些信息提交给分发服务器. 2.分发服务器: 分发服务器负责把从发布服务器拿 ...
- Java 调用存储过程、函数
一.Java调用存储Oracle存储过程 测试用表: --创建用户表 create table USERINFO ( username ) not null, password ) not null ...
- view无限旋转
- (void) showRefreshAnimation { [UIView animateWithDuration: options:UIViewAnimationOptionCurveLinea ...
- IIS5.1、IIS6.0、IIS7.5中安装配置MVC 3
本文主要介绍在IIS5.1.IIS6.0.IIS7.5中安装配置MVC 3的具体办法! 正文: IIS5.1 1. 安装Microsoft .net FrameWork 4.0安装包; 2. 安装AS ...