2011-04-28 6 views

Répondre

6
Arrays.asList(str1).containsAll(Arrays.asList(str2)); 
1

Vous pouvez rechercher chaque élément de str2 dans str1. Ou, plus efficacement: trier str1, et utiliser la recherche binaire.

2

Créez un objet Set pour chacun de vos tableaux contenant les éléments du tableau. Utilisez ensuite la méthode containsAll de la classe Set pour vérifier que l'un Set contient tous les éléments de l'autre Set.

http://download.oracle.com/javase/6/docs/api/java/util/Set.html

+0

Vous n'avez besoin que d'un 'Set' (c'est-à-dire une structure avec un contrôle rapide' contains') pour le plus grand tableau, pour l'autre un 'List' (comme' Arrays.asList() ') fonctionne aussi sans perte d'efficacité. (Et ce devrait être un HashSet ou un TreeSet, le plus efficacement si vous pouvez le réutiliser au lieu de le recréer pour chaque recherche.) –

+0

@ Paŭlo Ebermann Bon ajout (le commentaire sur HashSet). Bien qu'un ensemble puisse n'avoir que des avantages pour les tableaux plus grands, je pense que c'est globalement une meilleure solution que mportiz08 posté, puisque le choix de Set ou List n'a vraiment aucune importance pour les plus petites entrées. – KyleM

Questions connexes