Je viens de construire un récepteur de diffusion avec lequel je peux obtenir les messages texte entrants, que j'ai divisé le message texte lorsqu'il y a un espace et enregistrez-le dans une chaîne Besoin de vérifier si dans ce Y a-t-il un moyen facile et rapide de vérifier que, je dois aussi savoir quelle chaîne est dans les deux? P> [] code>.
chaîne [] code> est quelque chose de ma base de données. Pour cela, j'ai créé un
ArrayList
arraylist code> est la même dans ma chaîne
[] code> dans le message texte, mais je ne sais pas comment réaliser cela. < / p>
4 Réponses :
Vous pouvez itérer sur la matrice (par exemple avec un Si vous devez vérifier si les éléments forts> Tous les éléments forts> dans le tableau sont présents dans la liste, il existe une alternative confortable avec Il existe une autre alternative concise sans boucle pour vérifier si N'importe quel élément STRY> N'importe quel article est présent dans la liste: p> Le contenu de la division code> affichera toutes les chaînes qui sont assorties. p> p> pour code> en boucle sur
Splitd.length code>), interrogeant votre liste avec
myList.Contains (écarté [i] ) code>. La requête retournera un
booléen code>.
myList.Containsall (Arrays.Aslist (Érays.Aslist (Splitd)) Code> P>
splitlist.isempty () code> retournera ensuite
false code>, si
Il pourrait être positif d'ajouter une condition de sortie à la boucle d'efficacité. L'OP ne veut que savoir si au moins un élément est contenu dans la liste.
Certainement, il serait positif de casser la boucle une fois que vous avez la réponse - je considérais simplement le flux de contrôle en dehors de la portée de la question
Si vous avez un chaîne mystring code> et un
arraylist
mystring code> est dans la liste comme suit:
for( String s : splitted ) {
if( SmileyList.contains( s ) ) {
//Do what you need to do if the string is in the SmileyList.
}
}
Thx pour votre réponse, mais comment je découvre maintenant une sorte de chaîne dans les deux?
Si si (smileyliste.Contains (s)) code> renvoie
true code>, la chaîne qui était dans les deux est égale à
s code>.
Je ne suis pas tout à fait sûr de comprendre votre question. Avez-vous besoin de l'index / position de s code> dans la chaîne d'origine? Avez-vous besoin de la valeur de
s code>? Avez-vous besoin de l'index de
S code> dans
fractionné code>?
La valeur de s, ai-je besoin, je pense. J'ai besoin de savoir quelle chaîne est dans le tableau et la chaîne [] ...
D'accord - je vais essayer d'expliquer plus en profondeur. Nous passons à travers les chaînes dans le tableau scissocid code> un par un, créant une référence
s code> sur celui que nous travaillons actuellement. Nous avons ensuite "Demander" le "code> smooryliste" / code> s'il contient une chaîne égale à
s code>. Si tel est le cas, nous savons que
s code> que nous avons eu formulaire
fractionné code> (cela signifie qu'il est dans
divisé code>) est également dans
smileyliste code> ce qui signifie qu'il est dans les deux. La chaîne
code> dans la liste code> arraylist code> et la chaîne
[] code> est
s code>. Nous faisons ensuite ce qui doit être fait dans cette situation.
String array[] = ... ; List<String> list = ... ; // check if anything in array is in list for(String str : array) if(list.contains(str)) doSomething() ; If you want do something for every match, the code above will work. If you only want to do something once if there was a match (and not for every match), you will need to add a break statement in the if sentence.
Selon la taille de votre tableau et de votre arraylist et combien de fois vous y accéderez, vous voudrez peut-être utiliser un hashset au lieu d'une arracheList afin que vous puissiez obtenir une recherche rapide avec le hachée contient () code> méthode au lieu de devoir itération à travers le tableau. Quelque chose comme ceci:
Peut-on attribuer des valeurs directement à la liste de la fonction Split ??