3 Ağustos 2020 Pazartesi

Sets Sınıfı

Giriş
Şu satırı dahil ederiz.
import com.google.common.collect.Sets;
combination metodu
Şöyle yaparız.
Set<Set<Hero>> combos = Sets.combination(ImmutableSet.copyOf(heroes),10);
difference metodu
İmzası şöyle
public static <E> SetView<E> difference(final Set<E> set1, final Set<?> set2);
Açıklaması şöyle.
The returned set contains all elements that are contained by set1 and not contained by set2
Eşitlik kontrolü için kullanılan yöntem set nesnesinin tipine bağlıdır.
Açıklaması şöyle.
It thus means that the rule depends on the type of the two sets. If the Set is a HashSet, for example,  equals() will be used. If the set is a TreeSet, compareTo() (or the comparator's compare() method) will be used. If an IdentityHashSet is used, the identity of the object will be used.
Şöyle yaparız.
Sets.difference(s1, s2);
intersection metodu
İki set'in kesişimini Set olarak verir. İmzası şöyle.
static <E> Sets.SetView<E> intersection(Set<E> set1, Set<?> set2)
Örnek
Şöyle yaparız.
List<Integer> listA = Lists.newArrayList(12,16,17,19,101);
List<Integer> listB = Lists.newArrayList(16,19,107,108,109);
Set<Integer> intersection = Sets.intersection(Sets.newHashSet(listA),
  Sets.newHashSet(listB));
Örnek
Şöyle yaparız
public <T> Set<T> intersection(List<T>... list) {
  Set<T> result = Sets.newHashSet(list[0]);
  for (List<T> numbers : list) {
    result = Sets.intersection(result, Sets.newHashSet(numbers));
  }
  return result;
}
newConcurrentHashSet metodu
Şöyle yaparız.
Set s = Sets.newConcurrentHashSet();
newHashSet metodu
Şöyle yaparız.
List<Integer> listA = Lists.newArrayList(12,16,17,19,101);
Set<Integer> set = Sets.newHashSet(listA);
powerSet metodu
Tüm kombinasyonları döner.
Örnek
Şöyle yaparız.
Set<Set<Time>> timesPS = Sets.powerSet(EnumSet.allOf(Time.class));
symmetricDifference metodu
Şöyle yaparız.
Sets.symmetricDifference(s1, s2)
union metodu
İmzası şöyle.
static <E> Sets.SetView<E >union(Set<? extends E> set1, Set<? extends E> set2)
Örnek
Şöyle yaparız
Set<Character> first = ImmutableSet.of('a', 'b', 'c');
Set<Character> second = ImmutableSet.of('b', 'c', 'd');

Sets.SetView<Character> union = Sets.union(first, second);
List<Character> characters = union.immutableCopy().asList();

assertThat(characters).containsOnly('a', 'b', 'c', 'd');

Hiç yorum yok:

Yorum Gönder