当前位置: 代码迷 >> Android >> android开发中惯用的一些工具集介绍List、ArrayList、Map、HashMap
  详细解决方案

android开发中惯用的一些工具集介绍List、ArrayList、Map、HashMap

热度:310   发布时间:2016-04-28 06:12:43.0
android开发中常用的一些工具集介绍List、ArrayList、Map、HashMap

android开发中常用到一些数据管理的工具类。这里来做一些简单的介绍。

        java.util类包含有基本的数据结构,主要分两大接口:

       (1)Collection接口:

                  List-------------------------LinkedList、ArrayList、Vector、stack

                  Set-------------------------

        首先, Collection接口是最基本的一个数据元素集合的接口。一个Collection就代表一组object数据集,简单的说就是暂存数据的一个工具。List、set都是实现了Collection这个接口,但是又有自己的特点。

       List接口:是有序的Collection,使用该接口能够精确控制元素插入的位置,使用者可以方便、快速地使用元素的下标来对特定的元素操作。和Set不一样,List接口允许相同的元素。而实现List接口的工具类主要有:LinkedList、ArrayList、Vector、stack

       ArrayList:实现了可变大小的一个数组,该工具类没有同步方法。其使用特点:快速随机访问,插入、移除数据的速率很低。

       LinkedList:内部其实是实现了一个容量可变的数组,允许有nully元素。其使用特点:随机访问其元素的效率较低,插入、移除数据的速率较高。提供了get()/remove()/insert()方法在LinkedList的首部和尾部操作数据,这样使得LinkedList可被用作堆栈、队列。

      Vector:和ArrayList很相似,不过,Vector是同步的。

      Stack:继承于Vector类,实现了一个后进先出的堆栈。提供了方法:push()/pop()/peek()

     Set:是一种不包含重复元素的Collection,其中最多只有一个null元素。实际上,Set就是Collection的实现。


      (2)Map接口:

                  Hashtable、Hashmap、WeakHashMap

       Map接口和Collection接口一样也是用于存储数据的,不过Map接口存储数据的方法确认以键值对的方式。一个Map中只有唯一一个key值,每一个key值对应一个数据元素。

      Hashtable:继承Map接口的一个实现了同步的工具类,实现一个key-value映射的哈希表。添加数据put(key, value)、取出数据get(key)的开销都是常数。通常,使用initial capacity和load factor两个参数来调整期性能。通常,load factor设置为0.75是比较好实现时间和空间的均衡。load factor增大可以节省空间,但是查找时间更大。

     Hashmap:和Hashtable相比,Hashmap是一个非同步的类。允许NULL值,

     WeakHashMap:是一种改进的Hashmap,他对于key实现了“若引用”,这样一个key不被外部引用时候,该key可能被gc回收。

    

  相关解决方案