2012-02-18 13 views
9

Mam Arraylist. Jeśli użytkownik po raz drugi podaje ten sam numer, chcę go pokazać użytkownikowi. W tym celu muszę znaleźć Arraylist go mieć lub nie.muszę znaleźć dane liczbowe w tablicy?

Mam nadzieję, że wyraziłem się jasno.

+1

Chciałbyś podzielić się wszystko, co próbowałeś do tej pory? – dasblinkenlight

+2

Zanim zaczniesz zadawać takie pytanie, zapoznaj się z interfejsem API ArrayList. Zauważmy, że klasa ArrayList ma metodę contains() ze swojej definicji. – Juvanis

Odpowiedz

25

Jeśli sprawdzając, czy jakaś wartość jest przechowywana w ArrayList można użyć metody , będzie to powrót true jeśli obiekt znajduje się na liście, false inaczej.

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

Świetna odpowiedź! Dzięki. –

0

Nie, nie masz. Ale tu jest mój najlepszy przypuszczenie:

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

Dlaczego nie napisałbyś po prostu 'if (! Values.contains (userValue))? – user3932000

+0

Mógłby to zrobić. Nie dodaje wiele wartości, szczególnie sześć lat po zadaniu pierwszego pytania. Znajdź lepszy sposób, aby wzmocnić swój przedstawiciel tutaj. – duffymo

+0

Nie szukam "wzmocnienia mojego przedstawiciela", cokolwiek to ma znaczyć. Po prostu chcę pomóc ludziom czytającym to pytanie w przyszłości, ponieważ ludzie * czytają * stare pytania. – user3932000

0

Jeśli rozumiem Twoje pytanie, chcesz sprawdzić, czy lista tablic zawiera już wartości całkowite. Jeśli tak, możesz użyć ArrayList.contains().

Przykładowy kod tutaj:

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); 
} 
Powiązane problemy