我談論Integer
對象數據類型,而不是原始int
Java:如何獲得整數(對象)數組的大小?
假設這樣的:
Integer[] arr = new Integer[5];
arr[0] = 2;
arr[1] = 2;
arr[2] = 3;
則數組看起來像這樣{2,2,3,null,null}
我怎樣才能獲得數組的大小?在這種情況下,大小爲5
我談論Integer
對象數據類型,而不是原始int
Java:如何獲得整數(對象)數組的大小?
假設這樣的:
Integer[] arr = new Integer[5];
arr[0] = 2;
arr[1] = 2;
arr[2] = 3;
則數組看起來像這樣{2,2,3,null,null}
我怎樣才能獲得數組的大小?在這種情況下,大小爲5
相同的方式,對任何其他陣列 - 使用length
字段:
int length = arr.length; // 5
數組類型的成員是以下全部:
- 公共最終字段
length
,其中包含comp的數量陣列的螞蟻。長度可能是正數或零。- ...
如果要算上非空值,你會使用類似:
int count = 0;
for (Integer value : arr) {
if (value != null) {
count++;
}
}
(我敢肯定有一個聰明的方法做這在更少的行中使用Java 8中的流API,但讓我們現在保持簡單...)
雖然初始化了5個元素,不會返回5嗎?我想他是在問如何確定有多少元素不爲空。 – SnakeDoc 2014-11-04 19:13:59
@SnakeDoc:我不這麼認爲 - 看問題:「在這種情況下,大小是5」 – 2014-11-04 19:14:26
@SnakeDoc在這裏與Skeetmeister達成協議。這個問題的措辭似乎表明,OP對*所有成員*感興趣,無論是否爲空。 – christopher 2014-11-04 19:15:03
與其他任何數組相同的方式:'arr.lehgth'。 – 2014-11-04 19:13:36
'null'是所有對象數組的默認元素值。 – 2014-11-04 19:15:07
我將此問題標記爲收藏夾,因爲我誤解了它。我認爲問題在於*將使用多少內存(以字節爲單位)*。這將如何完成? – 2014-11-05 18:38:42