2017-10-14 83 views
1

如何檢查有多少元素具有值?是的,這也可以包括如何檢查一個元素是否有值。如何檢查有多少個數組元素有值?

String[] Array = new String[50]; //initialization 

Array[i] = "1"; // Array[0] 

Array[] = "2"; // Array[1] 

我怎麼知道50個元素中有2個具有值?

(閱讀ArrayList我的應用程序不斷,當我檢索和顯示它崩潰。)

回答

1

你可以檢查哪些元素是不爲空:

long numWithValue = Arrays.stream(array).filter(Objects::nonNull).count(); 

編輯:
如果您不能使用Java 8語法,您可以隨時使用老式循環:

int numWithValue = 0; 
for (int i = 0; i < array.length; ++i){ 
    if (array[i] != null) { 
     ++numWithValue; 
    } 
} 
+0

(對象::非空):方法引用不會在這個語言層面的支持(我使用API​​ 15) 流(ARR):無法解析符號 – Ray

+0

@Ray我真的建議你使用更新版本的API。不管這個建議如何,請查看我編輯的答案,以獲得適用於舊版本的解決方案。 – Mureinik

+1

謝謝。 for循環有效。 – Ray

0

您可以使用此

int count=0; 
for(int i=0;i<Array.length;i++) 
if(!(Array[i]==null)) 
count++; 

count是已經初始化的元素的數量。

0
long numWithValue = arr.length - Collections.frequency(Arrays.asList(arr), null); 

試試這個,應該編爲1.5 JDK

相關問題