Il y a un contains méthode pour les listes, donc vous devriez être en mesure de le faire:
Arrays.asList(yourArray).contains(yourObject);
Attention: cela ne peut pas faire ce que vous (ou moi), consultez la Tom de commentaire ci-dessous.
C'est assez court, mais ce cas est assez courant qu'ils devaient vraiment avoir ajouté une fonction dans la langue Attention à ne pas utiliser que le primitif, tableaux. Pourquoi pas? N'est-ce pas le travail? Il compile mais ne fait pas ce que vous attendez. Parce que de mal varargs, l'argument est traitée comme un tableau de tableaux de primitives.
Vous pouvez envisager d'utiliser un Collection mise en place d'un tableau plat.
La Collection interface définit un contains(Object o) méthode, qui renvoie true/false.
ArrayList de mise en œuvre définit un indexOf(Object o), ce qui donne un indice, mais cette méthode n'est pas sur la collection de toutes les implémentations.
Ces deux méthodes nécessitent une bonne implémentations de la equals() méthode, et vous voudrez probablement correctement mis en œuvre hashCode() méthode juste au cas où vous utilisez un hachage basé Collection (par exemple HashSet).
Vous pouvez utiliser l'un des nombreux Tableaux.binarySearch() méthodes. Gardez à l'esprit que le tableau doit être trié en premier.
C'est une option seulement les éléments du tableau sont comparables eux-mêmes. Nous ne pouvons que supposer que c'est le cas, par exemple, un tableau d'entiers, Chaînes de caractères, etc. Vous pouvez toujours fournir un custom Comparator pour le tri et de recherche si nécessaire. difficile à croire, il n'y a pas de Tableaux.recherche ... <soupir>
Il y a un
contains
méthode pour les listes, donc vous devriez être en mesure de le faire:Attention: cela ne peut pas faire ce que vous (ou moi), consultez la Tom de commentaire ci-dessous.
Attention à ne pas utiliser que le primitif, tableaux.
Pourquoi pas? N'est-ce pas le travail?
Il compile mais ne fait pas ce que vous attendez. Parce que de mal varargs, l'argument est traitée comme un tableau de tableaux de primitives.
OriginalL'auteur Douglas
Avec Java 8, vous pouvez faire ceci:
Vous devez faire
si vous travaillez avec des objets.
OriginalL'auteur Trenton
Vous pouvez envisager d'utiliser un
Collection
mise en place d'un tableau plat.La
Collection
interface définit uncontains(Object o)
méthode, qui renvoietrue
/false
.ArrayList
de mise en œuvre définit unindexOf(Object o)
, ce qui donne un indice, mais cette méthode n'est pas sur la collection de toutes les implémentations.Ces deux méthodes nécessitent une bonne implémentations de la
equals()
méthode, et vous voudrez probablement correctement mis en œuvrehashCode()
méthode juste au cas où vous utilisez un hachage baséCollection
(par exempleHashSet
).OriginalL'auteur hvgotcodes
Utiliser une boucle for. Il n'y a rien construit dans le tableau. Ou de passer à une java.util classe de Collection.
OriginalL'auteur duffymo
Vous pouvez utiliser l'un des nombreux
Tableaux.binarySearch()
méthodes. Gardez à l'esprit que le tableau doit être trié en premier.Nous ne pouvons que supposer que c'est le cas, par exemple, un tableau d'entiers, Chaînes de caractères, etc. Vous pouvez toujours fournir un custom
Comparator
pour le tri et de recherche si nécessaire.difficile à croire, il n'y a pas de Tableaux.recherche ... <soupir>
OriginalL'auteur krock