簡體   English   中英

在Java中串聯2個2D數組?

[英]Concatenating 2 2D arrays in java?

我有2個2D數組,一個int和一個String,由於它們具有相同的行數,我希望它們彼此相鄰出現。 有沒有辦法做到這一點? 我已經考慮過串聯,但是這要求它們是同一類型的數組,因此在那種情況下,有沒有辦法使我的int數組成為String數組?

如果要一個既可以容納String又可以容納int的數組,則基本上有兩種選擇:

  1. 將它們都視為對象,因此有效的是Object[][] concatArray 自動裝箱會將您的整數轉換為整數。

  2. 將它們都視為字符串(使用String.valueOf(int)和Integer.parseInt(String))。

我不知道一個事實,但是我猜想自動裝箱是一種比較便宜的操作,它可以將整數轉換為字符串然后返回。

此外,您始終可以使用instanceof運算符找出數組中單元格的值類型; 如果將值轉換為String,則實際上您需要解析一個值以找出它只是文本的一部分還是數字的文本表示。

這兩個考慮因素(一個是猜測,另一個可能與您的情況無關)將支持使用上述選項1。

串聯時將int轉換為Strings即可。 最終結果將是String類型的2D數組。

要將一個int連接到一個字符串,您可以使用

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

它很臟,但是很常見,因此可以識別,並且可以正常工作。

我可以通過兩種方法執行此操作:

  1. 您可以創建一個包含字符串和整數的自定義數據對象。 如果兩個項目屬於同一類,這將是最好的方法。 這也使比較行變得更加容易。
  2. 您可以創建一個4D對象數組,並將所有值放在一起,如下所示。 我不建議這樣做,但確實可以解決問題,

我聽到背景中潛伏着維度的詛咒,那就是-我想到的第一個答案是:

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

然后查看op的語句,我們看到兩個[] []提出了排序問題。 已經看了兩個好的答復,我們可以做Integer.toString(int);。 為了得到滿足op問題定義的串聯,那么排序是有效的還是固定的,以及(再次)對第二個數組做什么? 是元組嗎? 如果是這樣,如何“保存”行中的數據...然后我們可以做List<Pair<Integer,String>> or List<Pair<String,String>> ,這對我來說是典型的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM