当前位置: 首页 > 面试题库 >

具有不同大小的多维数组

宋智明
2023-03-14
问题内容

我只是有一个想法可以测试一些东西,并且有效:

    String[][] arr = new String[4][4];

    arr[2] = new String[5];

    for(int i = 0; i < arr.length; i++)
    {
        System.out.println(arr[i].length);
    }

输出显然是:

4
4
5
4

所以我的问题是:

  • 这是好是坏的编码风格?
  • 这有什么好处?
  • 最重要的是,是否可以在声明本身中创建这样的构造?
  • 另外…为什么甚至有可能做?

问题答案:
  • 这是好是坏的编码风格?

像任何东西一样,这取决于情况。在某些情况下, 锯齿状数组 (称为它们)实际上是适当的。

  • 这有什么好处?

好吧,用于将不同长度的数据集存储在一个数组中。例如,如果我们有字符串"hello""goodbye",我们可能希望将它们的字符数组存储在一个结构中。这些char数组的长度不同,因此我们将使用锯齿数组。

  • 最重要的是,是否可以在声明本身中创建这样的构造?

是:

char[][] x = {{'h','e','l','l','o'},
              {'g','o','o','d','b','y','e'}};
  • 另外…为什么甚至有可能做?

因为Java语言规范§10.6允许使用。



 类似资料:
  • 我有一个的数组,它的值不同,称为。我想创建一个二维数组(称为),其中第一个维度的大小是数组的长度,第二个维度的大小是该索引处的整数值。我希望下面的代码能更容易理解我的问题。 我的实际代码,sizes数组更大,所以如果可能的话,我希望避免大量重复的代码行。 我是的新手,但我读过关于的文章。我想我可以创建一个函数来返回这个数组,但是我还没有让它工作。 我还认为我可以循环数组,并为每个创建一个具有该大小

  • 问题内容: 使用,我可以比较和删除相似的项目,但是如果我有以下数组怎么办? 阵列1 数组2 我想过滤掉类似的物品;结果应该返回4.如何重新排列数组以便可以使用? 问题答案: 我可能会遍历原始数组并使它们成为一维的…类似

  • 我正在开发一个应用程序,它将生成一些图表,我正在使用chartjs来绘制它们。 我面临的问题是:图表将用动态数据生成。应用程序最多可以生成9个数据集,很少会有相同的大小。当数据集大小不匹配时,如何使图表提前或填充值? 我在stackoverflow甚至在chartjs github页面上看到了一些例子,但它们对我不起作用。 这是我目前所拥有的一个示例:https://jsfidle.net/cam

  • 问题内容: 这是我在这样的社区中提出的第一个问题,因此,我的问题形式可能对此并不十分抱歉。 现在,我的问题是我想在Java中深度复制2维数组。在固定尺寸的行和列的一维甚至二维数组中进行操作非常容易。我的主要问题是我无法为尝试复制的第二个数组进行初始化,例如: 因为行大小不是固定的,并且每个行的索引都发生了变化,例如我尝试复制此数组: 所以你看,如果我说会有多余的空间我不想要。有没有一种方法可以深度

  • 我有2个不同大小的数据帧df1-df2(df2比df1有更多的行和列)。 我试图分配的值从df2['率']到df1['率'],在其中df1['单元']==df2['单元']行。 期望的输出是 我尝试了不同的方法: 只能比较相同标记的Series对象 给我假消息 我认为这来自于这样一个事实,即两个数据帧从一开始就有不同的大小。然而,我不明白为什么它应该阻止它做比较。我不确定如何从这里开始。

  • 我有一个具有相同键值uid的多维数组。我想把它转换成子数组通过限制Foreachloop.you可以看到两个uid有值100和两个uid有值5465 我想得到这样的阵列。 我可以不使用foreach循环得到结果吗?