ContentValues和HashTable和HashMap的区别
2016-05-13 09:28
423 查看
ContentValues 和HashTable
ContentValues 和HashTable类似都是一种存储的机制 但是两者最大的区别就在于,contenvalues Key只能是String类型,values只能存储基本类型的数据,像string,int之类的,不能存储对象这种东西。ContentValues 常用在数据库中的操作。
在往数据库中插入数据的时候,首先应该有一个ContentValues的对象所以:
ContentValues initialValues = new ContentValues();
initialValues.put(key,values);
SQLiteDataBase sdb ;
sdb.insert(database_name,null,initialValues);
HashMap和HashTable
HashMap不是线程安全的,HashTable是线程安全的一个Collection。HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
hastmap是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
ContentValues 和HashTable类似都是一种存储的机制 但是两者最大的区别就在于,contenvalues Key只能是String类型,values只能存储基本类型的数据,像string,int之类的,不能存储对象这种东西。ContentValues 常用在数据库中的操作。
在往数据库中插入数据的时候,首先应该有一个ContentValues的对象所以:
ContentValues initialValues = new ContentValues();
initialValues.put(key,values);
SQLiteDataBase sdb ;
sdb.insert(database_name,null,initialValues);
HashMap和HashTable
HashMap不是线程安全的,HashTable是线程安全的一个Collection。HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
hastmap是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
相关文章推荐
- build 并deploy saiku-query0.4到nexus
- 【Arduino官方教程第一辑】示例程序 4-5 多串口[Mega]
- Permutation Sequence
- init: sys_prop: permission denied uid:1003 name:service.bootanim.exit
- iOS开发------操作通讯录(AddressBook篇)&通讯录UI(AddressBookUI篇)
- 手势(UIGestureXXX)使用详解
- 定义一个UIEdgeInsets全局变量
- Android Data Binding Guide
- 通过代理监听UITextField按下了return按钮
- 监听UITextField输入一般用addtarget
- UITextField设置了占位文字内容之后,才能设置占位文字的颜色
- UITextField监听按下了删除按钮
- 深入理解Java PriorityQueue
- UIButton的运用
- UILabel的使用
- 常用UI控件
- StringBuilder和StringBuffer源码浅析
- xiaocong的uiautomator有时候找不到界面元素的问题和解决
- mysql unique option prefix myisam_recover instead of myisam-recover-options的解决方法
- 解决easyui-datagrid在IE中无法reload问题