zoukankan      html  css  js  c++  java
  • Android开发中高效的数据结构

    android开发中,在java2ee或者android中常用的数据结构有Map,List,Set,但android作为移动平台,有些api(很多都是效率问题)显然不够理想,本着造更好轮子的精神,android团队编写了自己的api用来代替java api

    1. SimpleArrayMap<K,V>与ArrayMap<K,V>

    实质上ArrayMap继承自SimpleArrayMap,主要是为了实现像HashMap一样的api方法,让习惯使用HashMap的开发者感觉不到差异,本质上是SimpleArrayMap+Map的再封装。

    一般来说使用这2个类主要来代替HashMap,因为他们比HashMap更加高效,对内存也进行了优化。

    2.SparseArray<T>与SparseArrayCompat<T>和LongSparseArray<T>

    这3个类中,前2个基本上是同一类,只不过第二个类有removeAt方法,第三个是Long类型的。

    这3个类也是用来代替HashMap,只不过他们的键(key)的类型是整型Integer或者Long类型,在实际开发中,如月份缩写的映射,或者进行文件缓存映射,viewHolder都特别适用

    3.AtomicFile

    AtomicFile首先不是用来代替File的,而是作为File的辅助类从在, AtomicFile的作用是实现事务性原子操作,即文件读写必须完整,适合多线程中的文件读写操作。

    用来实现多线程中的文件读写的安全操作

  • 相关阅读:
    js(5)关于this的指代值
    bootstrap(2)关于表单
    bootstrap(1)关于排版
    bootstrap基础(0)写在前面的一些话
    js(4) 继承
    js(3)面向对象的程序设计
    js(2)关于作用域和作用域链
    鼠标事件(jQuery方法)
    鼠标事件(JS原生方法)
    键盘事件(在输入框中输入内容后按回车键)
  • 原文地址:https://www.cnblogs.com/chengzhengfu/p/4579315.html
Copyright © 2011-2022 走看看