从 Java 二维数组中提取部分内容:提取特定行或列:使用 arrays.copyofrange() 提取指定范围内的元素。提取满足条件的元素:使用 stream api 和 Filter() 筛选符合条件的元素。提取子数组:使用 arrays.copyofrange() 两次提取指定的二维数组部分。
如何从 Java 二维数组中提取部分内容
简介
从二维数组中提取部分内容是一项常见的任务,例如,您可能需要提取表格中的特定行或列,或仅提取满足特定条件的元素。Java 提供了几种方法来实现这一目标。
提取部分行或列
提取特定行或列的最简单方法是使用 Arrays.copyOfRange() 方法。该方法接受要提取的元素的起始和结束索引,并返回一个包含指定范围中元素的新数组。
int[][] arr = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 提取第一行 int[] firstRow = Arrays.copyOfRange(arr[0], 0, arr[0].length); // 提取第二列 int[] secondColumn = new int[arr.length]; for (int i = 0; i < arr.length; i++) { secondColumn[i] = arr[i][1]; }
提取满足条件的元素
要提取满足特定条件的元素,可以使用 Stream API。Stream API 提供了 filter() 方法,该方法允许您根据一组条件筛选元素。
立即学习“Java免费学习笔记(深入)”;
int[][] arr = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 提取所有大于 5 的元素 int[] greaterThan5 = Arrays.stream(arr) .flatMapToInt(Arrays::stream) .filter(num -> num > 5) .toArray();
提取子数组
要提取二维数组的一部分作为子数组,可以使用 Arrays.copyOfRange() 方法两次。
int[][] arr = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 提取前两行 int[][] subArray = Arrays.copyOfRange(arr, 0, 2);