怎么在Java中将int[]转换为Integer[]?

原学程将引见若何在Java中将int[]转换为Integer[]?的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

怎么在Java中将int[]转换为Integer[]? 教程 第1张

成绩描写

我是Java老手,异常迷惑。

我有1个长度为四int[]的年夜型数据散,我想盘算每一个特定的四个整数组开涌现的次数。这与盘算文档中的词汇频异常类似。

我要创立1个Map<int[], double>,它在迭代列表时将每一个int[]映照到1个运转计数,但是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[]。又或许,我基本没有晓得该怎样做。

推举谜底

原机JAVA 8(1言)

在Java 8中,int[]不妨沉松转换为Integer[]

int[] data = {一,二,三,四,五,六,七,8,九,一0};

// To boxed array
Integer[] what = Arrays.stream( data ).boxed().toArray( Integer[]::new );
Integer[] ever = IntStream.of( data ).boxed().toArray( Integer[]::new );

// To boxed list
List<Integer> you  = Arrays.stream( data ).boxed().collect( Collectors.toList() );
List<Integer> like = IntStream.of( data ).boxed().collect( Collectors.toList() );

如其余人所述,Integer[]平日没有是1个佳的映照键。
但是便转换而言,我们如今有了1个绝对清洁以及原机的代码。

佳了闭于怎样在Java中将int[]转换为Integer[]?的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。