contentvalues & bundle &hashtable 之间的区别

来源:互联网 发布:五线谱作曲软件 编辑:程序博客网 时间:2024/06/11 11:07

平时的开发中我们经常会遇见contentvalues,bundle,hashtable,hashmap这些类,总是感觉他们用法很像但是又不清楚他们之间有什么区别,今天抽空看了一下,总结出来供大家参考。


一,contentvalues

contentvalues的实现就是通过hashmap实现的,我们查看contentvalues的构造函数就能发现mValues = new HashMap<String, Object>(8);这说明contentvalues就是对hashmap的包装类,只是他把key固定为string类型,也就是说contentvalues的存储的键值对,键必须是string类型,而值是一些简单的内部类,int bool 等。android 文件存储的时候就是以contentvalues的形式写进去的。

二,hashtable

hashtable已经逐渐被hashmap代替,不鼓励使用。

三,bundle

bundle其实也是一个key-value 的键值对,也是通过map实现的。他是一个string到其他可打包数据类型的map。一般activity间的数据传递,比如oncreate中传入的参数就是一个bundle。

四,hashmap

hashmap是map的一种实现,支持各种操作,所有类型的要素都可以作为键或者值,包括null.


0 0
原创粉丝点击