J'ai un tableau nommé "bob" qui contient des valeurs. Comment puis-je savoir si la valeur "idiote" existe dans le tableau nommé "bob" sans itération à travers elle?Android - Vérifie si une valeur existe dans un tableau
Répondre
Vous pouvez utiliser la méthode List#contains
. Pour cela, vous devez convertir votre tableau en liste. Vous pouvez utiliser la méthode Arrays#asList()
fot que:
String[] bob = { "this", "is", "a", "really", "silly", "list" };
if (Arrays.asList(bob).contains("silly")) {
// true
}
Dans ce cas, vous pouvez changer 'Arrays.asList (bob)' à Collections.singletonList (bob) '= moins d'utilisation de la mémoire. –
Convertir le tableau à la liste à l'aide statique Arrays.asList(T)
et vérifier avec List.contains(Object)
pour vérifier si un objet existe dans la collection recalibrée.
String[] bob = { "this", "is", "a", "really", "silly", "list" };
System.out.println(Arrays.asList(bob).contains("silly"));
La méthode traditionnelle serait cependant d'itérer sur la matrice et de vérifier chaque élément en utilisant equals().
Si vous allez le vérifier beaucoup vous trouverez peut-être plus efficace d'utiliser un HashSet
:
String[] bob = { "this", "is", "a", "really", "silly", "list" };
Set<String> silly = new HashSet<String>(Arrays.asList(bob));
boolean isSilly = silly.contains("silly");
Voici un moyen facile de le faire:
ArrayList list = new ArrayList(Arrays.asList(bob));
if (list.contains("silly")) {
// my array has silly !
}
L'idée est pour convertir votre tableau en un objet ListArray. mais cela consomme de la mémoire supplémentaire, alors assurez-vous que cela en vaut la peine avant de l'utiliser.
Modifier
Si vous êtes après mémoire peformance et la sauvegarde que vous pouvez utiliser algorthem de recherche binaire à la place: cette façon, vous n'avez pas d'allouer de nouveaux objets:
Arrays.sort(array)
int value = Arrays.binarySearch(array, "silly");
if (value != -1) {
// my array has silly !
}
Si je cherche "silly1" il me donne mauvais résultat .. Il dit qu'il existe – user2065795
Arrays.binarySearch utilise la même méthode de comparaison qui est utilisée dans list.contais .... object.equals (..) alors s'il vous plaît faire Assurez-vous que votre test est exact ... –
- 1. Vérifie si une valeur existe dans une valeur d'entrée de tableau par jquery
- 2. Vérifie si un ID existe dans une base de données
- 3. Vérifie si une valeur unique existe avant de la créer
- 4. Déterminer si une valeur existe dans un tableau de hachages
- 5. recherche si une valeur existe dans un tableau Ruby
- 6. Déterminer si une valeur existe dans un tableau
- 7. Vérifie si au moins une valeur de tableau est dans un autre tableau PHP
- 8. Comment écrire un prédicat qui vérifie si une valeur existe dans un seq infini?
- 9. Vérifie si une table temporaire existe
- 10. Coldfusion - Vérifie si XmlNode existe
- 11. Vérifie si la ligne existe
- 12. Vérifiez si une valeur de tableau existe
- 13. jQuery: Vérifie si l'image existe
- 14. Vérifie si une valeur est vide
- 15. Si la valeur existe dans un tableau PHP, ajouter une valeur au second tableau
- 16. Vérifie si un itinéraire existe ou non dans Rails 3
- 17. vérifier si une valeur existe dans le tableau
- 18. Pas correctement vérifier si la valeur existe dans un tableau?
- 19. Vérification si la valeur de tableau existe dans un PHP
- 20. Laravel s3 vérifie si le répertoire existe.
- 21. Vérifie si un site SharePoint existe ou pas
- 22. Postgresql: Vérifie si le schéma existe?
- 23. Pytables vérifie si la colonne existe
- 24. F #: vérifie si une valeur est un tableau de chaînes, un tableau de tableaux de chaînes ou une chaîne
- 25. Déterminer si une valeur d'un tableau existe dans un autre tableau classique ASP
- 26. CodedUI - Vérifie si un contrôle existe ou pas
- 27. La propriété property_map de Boost vérifie si une clé existe.
- 28. XSLT définit une variable et vérifie si elle existe après
- 29. PHP filter_var_array() vérifie seulement si une valeur est vraie?
- 30. Vérifie si une chaîne contient un astérisque (*)
Il est important de comprendre quand vous apprenez le développement d'Android, que votre question peut être juste une question Java, qui n'est pas spécifique à Android. Quel est le cas ici :) – Richard