2012-02-18 42 views
9

我有一個Arraylist。如果用戶第二次輸入相同的號碼,我想向用戶顯示。爲此,我需要找到Arraylist有沒有。我需要在arraylist中找到一個整數數據?

我希望我明確自己。

+1

你想分享什麼,你到目前爲止試過嗎? – dasblinkenlight 2012-02-18 16:25:57

+2

在問這樣一個問題之前,先看看ArrayList API。注意到ArrayList類的定義中有一個contains()方法,這很簡單。 – Juvanis 2012-02-18 16:34:07

回答

25

如果要檢查看,如果某個值存儲在ArrayList可以使用方法,這將返回true如果對象是在列表中,false否則。

ArrayList<Integer> intList = new ArrayList<>(); 

intList.add(5); 
intList.add(7); 
intList.add(3); 
intList.add(-2); 

intList.contains(-1); //returns false 
intList.contains(3); //returns true 
+0

很好的答案!謝謝。 – 2017-03-24 05:03:42

0

不,你沒有。但這裏是我最好的猜測:

List<Integer> values = Arrays.asList{ 1, 2, 4, -5, 44 }; 
int userValue = 44; 
boolean containsUserValue = values.contains(userValue); 
if (!containsUserValue) { 
    values.add(userValue); 
} 
+0

爲什麼不直接寫'if(!values.contains(userValue))'? – user3932000 2018-01-13 21:25:29

+0

可以做到這一點。沒有增加太多價值,特別是在問題首次被問到六年後。找到一個更好的方法來提升你的代表。 – duffymo 2018-01-13 22:28:43

+0

我不打算「提高我的代表」,無論這應該是什麼意思。我只是想幫助人們在將來閱讀這個問題,因爲人們*會閱讀舊的問題。 – user3932000 2018-01-13 23:01:02

0

如果我理解你的問題,你想檢查一個數組列表是否已經包含整數值。如果是這樣,你可以使用ArrayList.contains()。

示例代碼瀏覽:

ArrayList list = new ArrayList(); 
int x = 4, y = 7; 
int z = x; 

list.add(x); 

//List contains the value 4, which is the value stored in z 
//Program will output "List contains 4" 
if(list.contains(z)) 
{ 
    System.out.printf("List contains %d\n", z); 
} 
else 
{ 
    System.out.printf("List does not contain %d\n", z); 
} 

//List contains the value 7, which is the value stored in y 
//Program will output "List does not contain 7" 
if(list.contains(y)) 
{ 
    System.out.printf("List contains %d\n", y); 
} 
else 
{ 
    System.out.printf("List does not contain %d\n", y); 
} 
相關問題