Android中几种数据结构使用
16lz
2021-01-24
Android中几种数据结构使用
分段锁ConcurrentHashMap
// ConcurrentHashMap分段锁的Map,用来替换其他线程安全的Map容器,比如Hashtable和Collections.synchronizedMap// http://blog.csdn.net/xiaxl/article/details/70025129ConcurrentHashMap
关于ConcurrentHashMap的原理,可参考ConcurrentHashMap 分段锁
CopyOnWriteArrayList 读写锁
// CopyOnWriteArrayList 读写锁// http://blog.csdn.net/xiaxl/article/details/70024206CopyOnWriteArrayList arrayList = new CopyOnWriteArrayList();
关于CopyOnWriteArrayList的原理,可参考CopyOnWriteArrayList读写锁
SparseArray、SparseBooleanArray、SparseIntArray、LongSparseArray、ArrayMap
// http://blog.csdn.net/xiaxl/article/details/77267201// key 为int,value为ObjectSparseArray sparseArray = new SparseArray();sparseArray.put(1, "001");sparseArray.put(2, "001");sparseArray.put(3, "001");// key 为int,value 为booleanSparseBooleanArray sparseBooleanArray = new SparseBooleanArray();sparseBooleanArray.put(1, false);sparseBooleanArray.put(2, true);// key 为int,value 为intSparseIntArray sparseIntArray = new SparseIntArray();sparseIntArray.put(1, 1);sparseIntArray.put(2, 2);sparseIntArray.put(3, 3);// key 为int,value 为longSparseLongArray sparseLongArray = new SparseLongArray();sparseLongArray.put(1, 1);sparseLongArray.put(2, 2);sparseLongArray.put(3, 3);// key 为long,value为Objectandroid.support.v4.util.LongSparseArray longSparseArray = new android.support.v4.util.LongSparseArray();longSparseArray.put(1, "001");longSparseArray.put(2, "002");longSparseArray.put(3, "003");// key 为Object,value为Objectandroid.support.v4.util.ArrayMap arrayMap = new android.support.v4.util.ArrayMap();arrayMap.put("001", "001");arrayMap.put("002", "002");arrayMap.put("003", "003");
关于SparseArray、ArrayMap 实现原理学习,可参考SparseArray、ArrayMap 实现原理学习
LongArraySet、IntArraySet
// 对于这两个类的由来,可参考以下文章:// http://blog.csdn.net/xiaxl/article/details/72730795// 代码转来自facebook的以下连接地址(鉴于打开要,所以代码拷贝到这里):// https://code.facebook.com/posts/973222319439596// 内部实现为LongSparseArrayLongArraySet longArraySet = new LongArraySet();longArraySet.add(1);longArraySet.add(2);// 内部实现为SparseArrayCompatIntArraySet intArraySet = new IntArraySet();intArraySet.add(1);intArraySet.add(2);
对于这两个类的由来,可参考以下文章:
http://blog.csdn.net/xiaxl/article/details/72730795
代码转来自facebook的以下连接地址(鉴于打开要,所以代码拷贝到这里):
https://code.facebook.com/posts/973222319439596
更多相关文章
- android Spinner和数值选择器使用demo
- android 不销毁当前activity,返回上一层,亲测有效
- Android(安卓)SDK 源码下载,eclipse关联代码
- android 隐藏键盘 ----- 断点记录
- Android(安卓)获取验证码倒计时实现
- Android(安卓)设置Dalog大小
- Android(安卓)【将图片网址Url转化为Bitmap工具类】
- mono修改代码模板
- 使用U3D 实现 Android(安卓)Launcher(提供源码)