在java中存在有二维数组的行会发生变化,那么我该如何定义这个可变行的数组?
在Java中,可以使用ArrayList来定义一个可变的二维数组。首先,需要导入ArrayList类,然后创建一个ArrayList的ArrayList,即二维ArrayList。这样,每一行都可以根据需要进行添加、删除或修改元素。
import java.util.ArrayList;public class Main {public static void main(String[] args) {// 创建一个二维ArrayListArrayList<ArrayList<Integer>> matrix = new ArrayList<>();// 添加一行ArrayList<Integer> row1 = new ArrayList<>();row1.add(1);row1.add(2);row1.add(3); // 添加元素通过add() 方法添加matrix.add(row1); // 然后将row1添加到二维数组matrix中,将其作为二维数组的第一行的值// 添加另一行ArrayList<Integer> row2 = new ArrayList<>();row2.add(4);row2.add(5);row2.add(6);matrix.add(row2);// 修改第一行的第二个元素matrix.get(0).set(1, 99); // get(0):表示获取第一行值 set(1,99):表示修改第2个元素值,修改为99// 删除第二行matrix.remove(1); // remove(1):表示删除第2行// 输出二维ArrayList的内容for (ArrayList<Integer> row : matrix) {for (int num : row) {System.out.print(num + " ");}System.out.println();}}
}
在Java中,你可以使用ArrayList来实现可变行的二维数组。ArrayList是一个动态数组,可以根据需要自动调整大小。
import java.util.ArrayList;public class Main {public static void main(String[] args) {// 创建一个可变行的二维数组ArrayList<ArrayList<Integer>> newPOS = new ArrayList<>();// 添加第一行数据ArrayList<Integer> row1 = new ArrayList<>();row1.add(1);row1.add(2);row1.add(3);row1.add(4);row1.add(5);newPOS.add(row1);// 添加第二行数据ArrayList<Integer> row2 = new ArrayList<>();row2.add(6);row2.add(7);row2.add(8);row2.add(9);row2.add(10);newPOS.add(row2);// 获取第i行的前5列数据int i = 0; // 假设获取第一行ArrayList<Integer> row = newPOS.get(i); // 获取第i行的值(i=0)ArrayList<Integer> firstFiveColumns = new ArrayList<>(row.subList(0, 5)); // 获取第i行的前5列的值[0,5)// 输出第i行的前5列数据for (int j = 0; j < 5; j++) {System.out.println(firstFiveColumns.get(j));}}
}
在上面的示例中,我们使用ArrayList<ArrayList>来定义一个可变行的二维数组newPOS。
我们通过调用ArrayList的add()方法向newPOS中添加行数据,并使用get()方法获取特定行的数据。然后,我们使用subList()方法获取第i行的前5列数据,并将结果存储在名为firstFiveColumns的ArrayList中。最后,我们遍历firstFiveColumns并输出每个元素的值。