Browse » Home » Resource, Tutorial » Blog article: 构建动态数组(Dynamic Arrays)的方法

对资源的合理利用是我们一直比较关注的话题,不仅仅是因为手机平台的资源相对比较有限,更主要的是要尽量以Smart的方式对待任何事情。举个例子,有的时候我们经常要面对一个庞大的数据堆栈,但却仅仅使用小部分的数据,这样一来就提出了动态数组的概念,目的是通过特定的需要来浮动数组的容量,这样就能避免不必要的资源浪费。

在Android平台上,我们可以通过定义一个动态数组的类来实现前面所提到的需求:

 import android.util.Log;  

 public class DynamicArray {
    private Object[] data;    

    public DynamicArray() {
       data = new Object[1];
    }  

    public Object get(int position) {
       if (position >= data.length)
           return 0;
       else
          return data[position];
    }  

    public void put(int position, Object value) {
        if (position >= data.length) {
            int newSize = 2 * data.length;
            if (position >= newSize)
                newSize = 2 * position;
            Object[] newData = new Object[newSize];
            System.arraycopy(data, 0, newData, 0, data.length);
            data = newData;
            Log.v("x", "Size of dynamic array increased to " + newSize);
        }
        data[position] = value;
     }
 }  

调用方法:

/* Greate Array */
DynamicArray arr = new DynamicArray();  

/* Add Integers and Strings */
arr.put(0, 123);
arr.put(1, "Hi There");  

/* Output Array Content */
Log.v("Dynamic Array Test", "0: " + arr.get(0) + ", 1: " + arr.get(1));

查看原文(Via proxy)

Tags: ,

Posted in Resource, Tutorial |

Related Posts



Leave a Reply

You must be logged in to post a comment.