ContentValues
和HashMap
有什么区别?如果有区别,最好的比喻是什么?
ContentValues
和HashMap
都是用于存储键值对的数据结构。但是它们的使用场景不同。在Android开发中,ContentValues
通常用于操作数据库,而HashMap
则可以用于任何需要存储键值对的场景。
最好的比喻是ContentValues
就像一个表格,每一行代表一个记录,每一列代表一个字段;而HashMap
则像一个字典,每个单词代表一个键,每个解释代表一个值。
ContentValues
和HashMap
有什么区别?如果有区别,最好的比喻是什么?
ContentValues
和HashMap
都是用于存储键值对的数据结构。但是它们的使用场景不同。在Android开发中,ContentValues
通常用于操作数据库,而HashMap
则可以用于任何需要存储键值对的场景。
最好的比喻是ContentValues
就像一个表格,每一行代表一个记录,每一列代表一个字段;而HashMap
则像一个字典,每个单词代表一个键,每个解释代表一个值。
1) HashMap是一个通用的实用类,位于java.util中。另一方面,ContentValues是一个特定的类,在android.content中设计,以符合Android类如SQLiteDatabase和ContentResolver。
请注意,根据上述指定,它们实现不同的接口:
- HashMap
实现了Cloneable和Serializable
- ContentValues
实现了Parcelable
2) ContentValues
有一个成员是带有String
键的HashMap
:
private HashMap<String, Object> mValues
3) ContentValues
有许多方法可以获取和设置类型化的值(例如getAsFloat()等)
结论
您可以将ContentValues
视为HashMap
的包装器,用于存储类型化值,通常与Android的SQLiteDatabase或ContentResolver一起使用。
就是这样
http://developer.android.com/reference/android/content/ContentValues.html
希望这个评论能对你有所帮助,很抱歉我的英语不太好。
ContentValues
有一个名为writeToParcel(Parcel parcel, int flags)
的方法。 - Al Lelopath