如何在Java中将int []转换为Integer []?

我是Java的新手,很困惑。

我有一个大的数据集的长度4 int []和我想计数的次数
出现4个整数的每个特定组合。这与在文档中计数字频率非常相似。

我想创建一个Map< int [],double>当列表被迭代时,将每个int []映射到正在运行的计数,但Map不使用原始类型。

所以我做了Map< Integer [],Double>

我的数据存储为ArrayList< int []>所以我的循环应该是类似的

ArrayList<int[]> data = ... // load a dataset`

Map<Integer[], Double> frequencies = new HashMap<Integer[], Double>();

for(int[] q : data) {

    // **DO SOMETHING TO convert q from int[] to Integer[] so I can put it in the map

    if(frequencies.containsKey(q)) {
    frequencies.put(q, tfs.get(q) + p);
    } else {
        frequencies.put(q, p);
    }
}

我不知道什么代码我需要在注释,使这个工作将int []转换为整数[]。或者也许我从根本上困惑的正确的方式做到这一点。

如果你想将一个int []转换为一个整数[],在JDK中没有自动的方法。但是,你可以这样做:

int[] oldArray;

... // Here you would assign and fill oldArray

Integer[] newArray = new Integer[oldArray.length];
int i = 0;
for (int value : oldArray) {
    newArray[i++] = Integer.valueOf(value);
}

如果您可以访问Apache lang库,那么您可以使用像这样的ArrayUtils.toObject(int[])方法:

Integer[] newArray = ArrayUtils.toObject(oldArray);
http://stackoverflow.com/questions/880581/how-to-convert-int-to-integer-in-java

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:如何在Java中将int []转换为Integer []?