2011-12-01 85 views
-1

我有一個陣列int[][] r = new int[10][1000]java中的摺疊陣列

我想刪除數組中的任何空值並將其摺疊。

所以如果數組是{{5,3,null,2,null,80,90,348,38,null,...},...}

我希望它是{{5,3,2,80,90,348,38,...},...}(長度也改變了)

我不是找代碼或爲你爲我做的,但也你指向正確的方向嗎?我搜索了,找不到像這樣的東西。

+3

是的,這是可能的 – DarthVader

+0

你需要創建新的陣列(並決定如何處理長度可能不同的情況,如果可能的話)和過濾器。 –

+0

你不需要搜索它,試着瞭解你需要做什麼。 – DarthVader

回答

4

燁 -

  1. 迭代陣列和計數的非零元素
  2. 聲明一個新的陣列,以在(1)中,並添加到它唯一的非空元素髮現的尺寸。

順便說一句,你不能在int陣列null元素

1

當然,這很簡單:

int[][] uncollapsed = ...; 
int[][] collapsed = uncollapsed; 

元(包括int[])數組不能包含空,所以有沒有太多的工作你必須做。

如果你想問一個更正確的問題,我建議你編輯你的問題,但一看就知道,如果你想做這樣的清除,數組是一個很差的數據類型的選擇。考慮收集界面,如List

0

在插入時間:

if (val == null) skip(); 

在稍後的時間:

for(Element el: elementList) { 

    if (el == null) remove(); 

} 

簡而言之...