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

如何在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[]为Integer[]。或者我可能从根本上对正确的方法感到困惑。


千万里不及你
浏览 2431回答 3
3回答

米琪卡哇伊

只需使用:public&nbsp;static&nbsp;int[]&nbsp;intArrayToIntegerArray(Integer[]&nbsp;array) &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int[]&nbsp;g&nbsp;=&nbsp;new&nbsp;int[array.length]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;array.length;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g[i]&nbsp;=&nbsp;array[i]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;g; &nbsp;&nbsp;&nbsp;&nbsp;}

MMTTMM

这就像一个魅力!int[]&nbsp;mInt&nbsp;=&nbsp;new&nbsp;int[10];Integer[]&nbsp;mInteger&nbsp;=&nbsp;new&nbsp;Integer[mInt.length];List<Integer>&nbsp;wrapper&nbsp;=&nbsp;new&nbsp;AbstractList<Integer>()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;@Override &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;int&nbsp;size()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;mInt.length; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;@Override &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;Integer&nbsp;get(int&nbsp;i)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;mInt[i]; &nbsp;&nbsp;&nbsp;&nbsp;}};wrapper.toArray(mInteger);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java