(临时)收集和计数数据的最佳方法

在我的Android应用中,我必须收集并计算一些信息。我不需要将它们保存在数据库中或其他位置,只需要将它们存储在内存中并用于某些处理即可。
所有值均为Integer。数据示例如下:

123,123,124,125,126,127,128,129,130,130 ...

然后将它们保存在HashMap / CustomClass / List中,对它们进行计数和排序,如下所示:

130: 4
123: 2
124: 1
125: 1
...

哪个是最好的方法? 我已经尝试过SparseArrays和HashMap。在仿真器上使用大约350.000的值进行计算(如何操作并不重要),存储和计算数据时,SparseArrays需要8秒,HashMap需要0.5秒。这就是我使用的代码:

@SuppressLint("UseSparseArrays")
public HashMap<Integer,Long> valueList = new HashMap<>();

public void addValue(int value){
    if(valueList.containsKey(value)){
        long count = 0;
        try {
            count = valueList.get(value); //here Android Studio reports: "Unboxing of 'valueList.get(value)' may produce 'java.lang.NullPointerException'"...
        }catch (NullPointerException e){
            e.printStackTrace();
        }
        valueList.put(value,count+1);
    }else{
        valueList.put(value,(long)1);
    }
}

但是如何按值对它们进行排序?有更好的办法吗?
预先非常感谢。

zhuguanglu 回答:(临时)收集和计数数据的最佳方法

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3085418.html

大家都在问