J'ai un ensemble et je veux le convertir en carte afin de l'utiliser plus tard dans Maps.difference()
de la goyave. Je me soucie seulement des clés de la différence.
venu avec cette version:comment convertir un ensemble à la carte
private <T> Map<T, T> toMap(Set<T> set) {
return set.stream().collect(Collectors.toMap(Function.identity(), Function.identity()));
}
Cependant, je sais que généralement, un ensemble a un champ de support de carte. Ceci est la méthode que je l'utilise pour créer la carte:
public static <E> Set<E> newConcurrentHashSet() {
return Collections.newSetFromMap(new ConcurrentHashMap<E, Boolean>());
}
Depuis que je ne dois les clés que je pensais que je peux obtenir une vue de ce champ en quelque sorte. une idée?
pourquoi ne pas utiliser https://google.github.io/guava/releases/snapshot/api/docs/com/google/common/collect/Sets.html#difference-java.util .Set-java.util.Set-? Pourquoi essayez-vous de forcer un ensemble dans une carte? – luk2302
Je voudrais savoir quels éléments seulement sur la gauche, qui seulement sur la droite, ce qui en commun (similaire à la différence de carte) – oshai
Si vous avez seulement besoin des clés, pourquoi convertissez-vous en carte? Une carte est fondamentalement un ensemble avec des valeurs, donc ce que vous dites n'a aucun sens. – Andreas