C'est la même question publiée here mais en Java, puisque dans C# yield résoudrait mon problème.Comment obtenir chaque paire non ordonnée d'éléments, sans répétition de deux listes paresseusement?
Exemple: si vous avez [1,2] [5,6]. Je voudrais obtenir [1,5] [1,6] [2,5] [2,6]
Mais si je n'ai qu'une liste [1,2,3] le résultat serait [1, 2] [1,3] [2,3]
C'est ce que j'ai:
public static <T,K> Collection<Entry<T,K>> Pairs (List<T> l1, List<K> l2)
{
Collection<Entry<T,K>> result = new LinkedList<>();
for(int i =0;i<l1.size();i++)
{
for(int j=(l1==l2?i+1:0);j<l2.size();j++)
{
result.add(new Entry<>(l1.get(i),l2.get(j)));
}
}
return result;
}
Je veux juste faire la méthode paresseuse. Des idées?
Il est difficile de créer un paresseux 'Collection'. Est-ce que Iterable ou Iterator suffirait? – shmosel
@shmosel C'est exactement ce que je cherchais. –