是否有o(1)方法将原始int []转换为包装类Integer []?

时间:2017-11-15 02:15:58

标签: java

我已经看到了解决这个问题的各种方法:

public static Integer[] toConvertInteger(int[] ids) {

  Integer[] newArray = new Integer[ids.length];
     for (int i = 0; i < ids.length; i++) {
       newArray[i] = Integer.valueOf(ids[i]);
     }
   return newArray;
}

int[] data = {1,2,3,4,5,6,7,8,9,10};

// 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() );

然而,这两种解决方案看起来都很复杂。也许他们是过时的解决方案。有没有办法在o(1)或更易读/干净的解决方案中解决这个问题。

我的使用背景:

Set<Integer> mySet = new Set<Integer>(int[] array..);

0 个答案:

没有答案