【问题标题】:Adding a new cell to a matrix dynamically in java在java中动态地将新单元格添加到矩阵中
【发布时间】:2014-07-08 13:30:48
【问题描述】:

我需要动态地将单元格添加到矩阵或 Object[][] 中,更准确地说,Object 的列的大小为 2,并且每次我需要添加条目时行都需要增长。

我找到了这个answer,但问题是它处理一维数组列表,而我不知道如何处理二维数组列表。

所以问题正是:我如何动态地以升序将一行添加到对象矩阵或数组列表中?

任何帮助将不胜感激,并提前感谢您。

【问题讨论】:

  • 你不应该使用数组,而是使用Lists,例如,这里你可以使用ArrayList<Object[]>或(更好)ArrayList<Column> columns;,其中Column是一个类,它包含这两个项目。
  • "对象的列大小为 2,每次我需要添加条目时行都需要增长。"我不明白这个。
  • @alliteralmind 这很有意义,当您使用 cols 更改行时,反之亦然。
  • 你应该看看这个问题:stackoverflow.com/questions/24526019/…

标签: java dynamic matrix arraylist


【解决方案1】:

它的工作方式与您引用的答案相同,只是您将有两个嵌套的数组列表:

List<List<Item>> matrix = new ArrayList<List<Item>>();

要获得一维,只需:

matrix.get(x);

要获得第二个,只需执行以下操作:

matrix.get(x).get(y);

要添加,您只需添加“行”:

matrix.add(new ArrayList<Item>());

如果您的第二个维度是静态的,那么更简单的方法就是:

List<Object[]> matrix;

但这意味着您需要为 Object[] 数组设置一个大小。

【讨论】:

  • 为什么不List&lt;List&lt;Items&gt;&gt; arrayList = new ArrayList&lt;List&lt;Items&gt;&gt;();?
  • 也可以,只是以具体的实现为例。
  • 我认为,Item 是比Items 更正确的示例名称。
  • 根据建议更新答案
  • 哦,等等,在最后一次编辑后,您的答案包含错误,以前没有:ArrayList&lt;ArrayList&lt;Item&gt; IS NOT List&lt;List&lt;Item&gt;。因此,它应该是右侧的ArrayList&lt;List&lt;Item&gt;(首选)或右侧的List&lt;ArrayList&lt;Item&gt;&gt;。对于解释看@coderanch.com/t/591388/java/java/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-30
  • 1970-01-01
  • 2019-03-10
  • 1970-01-01
  • 1970-01-01
  • 2014-10-14
  • 1970-01-01
相关资源
最近更新 更多