2012-02-18 18 views
9

私はArraylistです。ユーザーが同じ番号を2回入力した場合は、ユーザーに表示します。このために私はArraylistそれを持っているかどうかを見つける必要があります。私はarraylistで整数データを見つける必要がありますか?

私は自分自身を明確にしたいと思います。

+1

あなたはこれまでにしようとしている何かを共有したいと思いますか? – dasblinkenlight

+2

このような質問をする前に、ArrayList APIを見てください。 ArrayListクラスにはその定義からcontains()メソッドがあることに気付くのは簡単です。 – Juvanis

答えて

25

あなたには、いくつかの値は、あなたがメソッドを使用することができますArrayListに保存されているかどうかをチェックしている場合、これはtrueを返します。しかし、ここで私の最高の推測です。

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

すばらしい答え!ありがとう。 –

0

いいえ、あなたはありません。オブジェクトは、それ以外の場合は、リストにfalseある場合

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

+0

それを行うことができます。特に質問が最初に尋ねられてから6年後には、大きな価値を追加しません。ここであなたの担当者を増やすより良い方法を見つける。 – duffymo

+0

私は「私の担当者を増強する」とは考えていません。私は人々が*古い*質問を読む*ので、この質問を読んで人々を助けるために探しています。 – user3932000

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); 
} 
関連する問題