1. 程式人生 > 其它 >陣列間相互轉換 int[]轉list

陣列間相互轉換 int[]轉list

各陣列間相互轉換:

int[] data = {1, 2, 3, 4, 5, 6, 7}; 1.int[] 轉換 List<Integer> List<Integer> lists = Arrays.stream(data).boxed().collect(Collectors.toList()); (1).Arrays.stream(arr) 可以替換成IntStream.of(arr)。 (2).使用Arrays.stream將int[]轉換成IntStream。 (3).使用IntStream中的boxed()裝箱。將IntStream轉換成Stream<Integer>。 (4).使用Stream的collect(),將Stream<T>轉換成List<T>,因此正是List<Integer>。 2.int[] 轉換 Integer[] Integer[] integers = Arrays.stream(data).boxed().toArray(Integer[]::new); (1).前兩步同上,此時是Stream<Integer>。 (2).然後使用Stream的toArray,傳入IntFunction<A[]> generator。 (3).這樣就可以返回Integer陣列。 (4).不然預設是Object[]。 3.List<Integer> 轉換 Integer[] Integer[] integers = list.toArray(new Integer[0]); (1).呼叫toArray。傳入引數T[]。這種用法是目前推薦的。 (2).List<String>轉String[]也同理。 4.List<Integer> 轉換 int[] int[] arr1 = list1.stream().mapToInt(Integer::valueOf).toArray(); (1).想要轉換成int[]型別,就得先轉成IntStream。 (2).這裡就通過mapToInt()把Stream<Integer>呼叫Integer::valueOf來轉成IntStream (3).而IntStream中預設toArray()轉成int[]。 5.Integer[] 轉換 int[] int[] arr = Arrays.stream(integers).mapToInt(Integer::valueOf).toArray(); (1).思路同上。先將Integer[]轉成Stream<Integer>,再轉成IntStream。 6.Integer[] 轉換 List<Integer> List<Integer> lists = Arrays.asList(integers); (1).最簡單的方式。String[]轉換List<String>也同理。 //String 轉換 String[] strings = {"a", "b", "c"}; 7.String[] 轉換 List<String> List<String> list = Arrays.asList(strings1); 8.List<String> 轉換 String[] String[] strings = list.toArray(new String[0]);