【问题标题】:Concatenating 2 2D arrays in java?在java中连接2个二维数组?
【发布时间】:2010-12-12 12:08:49
【问题描述】:

我有 2 个二维数组,一个 int 和一个 String,我希望它们一个挨一个出现,因为它们的行数相同。有没有办法做到这一点?我考虑过连接,但这要求它们是相同类型的数组,所以在这种情况下,有没有办法让我的 int 数组成为 String 数组?

【问题讨论】:

    标签: java string int concatenation multidimensional-array


    【解决方案1】:

    在连接时将整数转换为字符串。最终结果将是一个字符串类型的二维数组。

    要将 int 连接到 String,您可以使用

    int myInt = 5;
    String newString = myInt + "";
    

    它很脏,但它是常用的,因此可以识别,并且有效。

    【讨论】:

    【解决方案2】:

    我可以看到有两种方法可以做到这一点:

    1. 您可以创建一个包含字符串和整数的自定义数据对象。如果这两个项目属于一起,这将是最好的方法。它还使比较行更容易。
    2. 您可以像这样创建一个 4D 对象数组并将所有值放在一起。我不会推荐它,但它确实解决了问题,

    【讨论】:

      【解决方案3】:

      我听到潜伏在背景中的维度诅咒,也就是说 - 想到的第一个答案是:

      final List<int,String> list = new List<int,String>();
      

      然后查看 op 的声明,我们看到两个 [][] 提出了排序问题。看看两个好的回复,我们可以做 Integer.toString( int );要获得满足 op 问题定义的连接,那么排序是重要的还是平面列表以及(再次)如何处理第二个数组?它是一个元组吗?如果是这样,如何“保存”行中的数据......然后我们可以做List&lt;Pair&lt;Integer,String&gt;&gt; or List&lt;Pair&lt;String,String&gt;&gt;,这对我来说似乎是规范的解决方案。

      【讨论】:

        【解决方案4】:

        如果您想要一个可以同时容纳Strings 和ints 的数组,您基本上有两种选择:

        1. 把它们都当作对象,所以 有效Object[][] concatArray。自动装箱将 将您的整数转换为整数。

        2. 将它们都视为字符串(使用 String.valueOf(int) 和 Integer.parseInt(String))。

        我不知道一个事实,但我猜自动装箱是一种成本较低的操作,它将整数转换为字符串并返回。

        此外,您始终可以使用instanceof 运算符找出数组中单元格的值类型;如果将值转换为字符串,您实际上需要解析一个值以查明它是否只是一点文本或数字的文本表示。

        这两个考虑因素——一个是猜测,另一个可能与你的情况无关——将支持使用上面的选项 1。

        【讨论】:

          猜你喜欢
          • 2012-11-23
          • 1970-01-01
          • 2011-04-10
          • 1970-01-01
          • 1970-01-01
          • 2013-04-08
          • 2016-02-01
          • 1970-01-01
          相关资源
          最近更新 更多