Android:Intent传递SparseIntArray

来源:互联网 发布:kmp算法的next函数程序 编辑:程序博客网 时间:2024/05/16 07:08

最近写的项目中使用了SparseIntArray替换HashMap<Integer,Integer>来优化性能 ,通过Intent传递时SparseIntArray需要实现Serializable接口

import android.util.SparseIntArray;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;/** * Created by liquan on 2016/5/22. */public class SparseParcelableArray extends SparseIntArray implements Serializable {    private static final long serialVersionUID = 1L;    private void writeObject(ObjectOutputStream oos) throws IOException {        Object[] data = new  Object[size()];        for (int i=data.length-1;i>=0;i--){            Object[] pair = {keyAt(i),valueAt(i)};            data[i] = pair;        }        oos.writeObject(data);    }    private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {        Object[] data = (Object[]) ois.readObject();        for (int i=data.length-1;i>=0;i--){            Object[] pair = (Object[]) data[i];            this.append((Integer)pair[0],(Integer)pair[1]);        }        return;    }}


0 0
原创粉丝点击