王立平-- ContentValues , HashTable , HashMap区别

ContentValues  :是一种存储机制,key-value

特点:key只能是string类型,value:只能是基本类型,不能是对象。

应用:常用语往数据库中插入数据

ContentValues values = new ContentValues();

values.put("name", "xh");

values.put("level", 5);

SQLiteDataBase db=helper.getWritableDatabase(); 。。。。。。。省略部分代码

db.insert("hero_info", "id", values);

------------------------------------------------------------------------------------------------------------------------------------------

HashMap:是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,

特点:允许空键值, 由于非线程安全,效率上可能高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。

---------------------------------------------------------------------------------------------------------------------------------------------

HashTable  :线程安全的Collection

特点:不允许将null作为一个entry的key或者value

----------------------------

Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

时间: 2024-08-15 06:22:04

王立平-- ContentValues , HashTable , HashMap区别的相关文章

hashmap hashtable 的区别

Hashtable 和 HashMap 做为 Map 的基本特性 两者都实现了Map接口,基本特性相同 -          对同一个Key,只会有一个对应的value值存在 -          如何算是同一个Key? 首先,两个key对象的hash值相同,其次,key对象的equals方法返回真 内部数据结构 Hashtable和HashMap的内部数据结构相似 其基本内部数据结构是一个Entry数组 (transient Entry[] table) -          数组元素为实现M

ArrayList和Vector的区别?HashMap和HashTable的区别?StringBuilder、StringBuffer和String的区别?

ArrayList和Vector的区别?从两个方面 1.同步性:ArrayList是线程不安全的,是非同步的:Vector是线程安全的,是同步的.(Java中线程的同步也就满足了安全性) 2.数值增长:ArrayList每次增长为原来的50%;Vector每次增长为原来的100%; (从内部实现机制来讲,ArrayList和Vector都是使用数组(Array)来控制集合中的对象,当向集合中添加对象时,如果内部数组长度不够用时,长度会自动增长.ArrayList会增长为原来的1.5倍,Vecto

Map...---HashMap和Hashtable的区别-----...LinkedHashMap

*Map接口不是Collection接口的子接口 *Map存放数据的方式采用键值对的方式,类似与生活中目录(键)和内容(值) *常见的实现类: * HashMap**:采用键-值对的方式进行存放. * 键(键的集合是就是set集合):唯一,无序,如果键重复,将发生覆盖 * 值:无序 不唯一(Collection) * 构造函数: * HashMap() 构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap. * HashMap(int initialCapaci

[转]HashMap与HashTable的区别、HashMap与HashSet的关系

转自: http://blog.csdn.net/wl_ldy/article/details/5941770 HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable.可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别. 一:HashMap与HashTable的区别 1.HashTable的方法是同步 的,在方法的前面都有synchronized来同步,HashMap未经同步,所以

深入集合类系列——HashMap和HashTable的区别

含义:HashMap是基于哈希表的Map接口的非同步实现.允许使用null值和null键.此类不保证映射的顺序,特别是它不保证该顺序恒久不变. 数据结构:HashMap实际上是一个"链表散列"的数据结构,即数组和链表的结合体. HashMap存数据的基本流程: 1.当调用put(key,value)时,首先获取key的hashcode,int hash = key.hashCode(); 2.再把hash通过一下运算得到一个int h. hash ^= (hash >>&g

HashMap和Hashtable的区别 源码分析

一:以前只知道HashMap和HashTable区别,死记硬背的记住HashMap 允许key value为空 而Hashtable 不允许为空 HashMap线程是非线程安全的,而Hashtable是安全的. 二.HashMap 和Hashtable 的区别 我们先看2个类的定义 public class Hashtable extends Dictionary implements Map, Cloneable, java.io.Serializable public class HashM

从Java源码的角度来分析HashMap与HashTable的区别

由于HashMap与HashTable都是用来存储Key-Value的键值对,所以经常拿来对比二者的区别,下面就从源码的角度来分析一下HashMap与HashTable的区别, 首先介绍一下两者的区别,然后再从源码分析. HahMap与HahTable两者主要区别: 1.继承的父类不同 <span style="font-size:18px;">public class HashMap<K, V> extends AbstractMap<K, V>

ConcurrentHashMap以及HashMap,HashTable的区别

ConcurrentHashMap与HashMap,和HashTable 的区别? ConcurrentHashMap是一个线程安全的key-value数据结构,而HashMap不是.ConcurrentHashMap的数据结构是 数组 + 数组 + 单向链表.HashMap的数据结构是 数组 + 单向列表 HashTable也是线程安全,HashTable与HashMap的存储结构相同,HashTable不允许null为key值,而HashMap允许ConcurrentHashMap是Hash

hashmap,ConcurrentHashMap与hashtable的区别

1.hashmap与hashtable的区别 1.我们从他们的定义就可以看出他们的不同,HashTable基于Dictionary类,而HashMap是基于AbstractMap.Dictionary是什么?它是任何可将键映射到相应值的类的抽象父类,而AbstractMap是基于Map接口的骨干实现,它以最大限度地减少实现此接口所需的工作. 2.HashMap可以允许存在一个为null的key和任意个为null的value,但是HashTable中的key和value都不允许为null. 3.H