相关文章:
-
常规方法
private static List<int[]> getNumberPairs1(List<Integer> list1, List<Integer> list2) { List<int[]> list = new ArrayList<>(); for (Integer i : list1) { for (Integer j : list2) { list.add(new int[]{i, j}); } } return list; } public static void main(String[] args) { List<Integer> list1 = Arrays.asList(1, 2); List<Integer> list2 = Arrays.asList(3, 4, 5); getNumberPairs1(list1, list2).forEach(data -> System.out.println(Arrays.toString(data))); } // [1, 3] // [1, 4] // [1, 5] // [2, 3] // [2, 4] // [2, 5]
-
lambda方法
private static List<int[]> getNumberPairs2(List<Integer> list1, List<Integer> list2) { return list1.stream().flatMap(i -> list2.stream().map(j -> new int[]{i, j})).collect(toList()); } public static void main(String[] args) { List<Integer> list1 = Arrays.asList(1, 2); List<Integer> list2 = Arrays.asList(3, 4, 5); getNumberPairs2(list1, list2).forEach(data -> System.out.println(Arrays.toString(data))); } // [1, 3] // [1, 4] // [1, 5] // [2, 3] // [2, 4] // [2, 5]