java我想在2d数组中添加一行
作业中指定的方法表示:
布尔addLineSegment(int[]段)-如果线段的坐标表示有效线段,则将其添加到数据库中。这将使线段数组的大小增加1,并将给定线段添加到端点。如果添加了线段,则该方法返回true,否则返回false。输入应该是大小为4的数组
我有点卡住了,因为我想在数组线段[]中添加一行,而不必重新分配它并擦除数组中以前的内容。如何保留数组的内容并向其中添加新行,以便将线段[]的内容添加到线段[]中
你可以在下面搜索框中键入要查询的问题!
作业中指定的方法表示:
布尔addLineSegment(int[]段)-如果线段的坐标表示有效线段,则将其添加到数据库中。这将使线段数组的大小增加1,并将给定线段添加到端点。如果添加了线段,则该方法返回true,否则返回false。输入应该是大小为4的数组
我有点卡住了,因为我想在数组线段[]中添加一行,而不必重新分配它并擦除数组中以前的内容。如何保留数组的内容并向其中添加新行,以便将线段[]的内容添加到线段[]中
# 1 楼答案
看起来您正在尝试模拟一个
ArrayList
的动作!我建议使用ArrayList
来管理数组列表。但是,如果只允许使用数组,恐怕除非您知道外部数组中的最大元素数,否则需要复制ArrayList
类的工作方式(进行一些更改),这确实需要重新分配数组但是,不要担心,因为您确实可以重新分配数组,而不会丢失它的内容。在
Arrays
类中,有一个名为copyOf()
的静态方法。这允许您创建所需大小的新数组,同时保留旧数组的内容让我们举个例子:
这满足了将阵列的大小增加1的要求,同时仍然保留旧的元素。要使其工作,数组必须以零大小开始,然后从那时起它将增长
这与
ArrayList
类的工作方式不同,因为这个类每次增加一个,而ArrayList
类跟踪最后一个元素的当前索引,并从长度为10的数组开始,每次达到上限时加倍。但是,您的要求指出,每次必须将大小增加1,因此我提出的解决方案应该可以正常工作# 2 楼答案
使用Java
ArrayUtils
静态方法,有许多函数可以帮助您,如:添加功能:
删除功能: