.class public final Lcom/google/common/collect/Collections2; .super Ljava/lang/Object; .source "Collections2.java" # annotations .annotation build Lcom/google/common/annotations/GwtCompatible; .end annotation .annotation runtime Lcom/google/common/collect/ElementTypesAreNonnullByDefault; .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/google/common/collect/Collections2$PermutationIterator;, Lcom/google/common/collect/Collections2$PermutationCollection;, Lcom/google/common/collect/Collections2$OrderedPermutationIterator;, Lcom/google/common/collect/Collections2$OrderedPermutationCollection;, Lcom/google/common/collect/Collections2$TransformedCollection;, Lcom/google/common/collect/Collections2$FilteredCollection; } .end annotation # direct methods .method private constructor ()V .locals 0 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static synthetic access$000(Ljava/util/List;Ljava/util/List;)Z .locals 0 .line 1 invoke-static {p0, p1}, Lcom/google/common/collect/Collections2;->isPermutation(Ljava/util/List;Ljava/util/List;)Z move-result p0 return p0 .end method .method public static containsAllImpl(Ljava/util/Collection;Ljava/util/Collection;)Z .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "*>;", "Ljava/util/Collection<", "*>;)Z" } .end annotation .line 1 invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object p1 :cond_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_1 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 .line 2 invoke-interface {p0, v0}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_0 const/4 p0, 0x0 return p0 :cond_1 const/4 p0, 0x1 return p0 .end method .method private static counts(Ljava/util/Collection;)Lcom/google/common/collect/ObjectCountHashMap; .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "TE;>;)", "Lcom/google/common/collect/ObjectCountHashMap<", "TE;>;" } .end annotation .line 1 new-instance v0, Lcom/google/common/collect/ObjectCountHashMap; invoke-direct {v0}, Lcom/google/common/collect/ObjectCountHashMap;->()V .line 2 invoke-interface {p0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object p0 :goto_0 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 .line 3 invoke-virtual {v0, v1}, Lcom/google/common/collect/ObjectCountHashMap;->get(Ljava/lang/Object;)I move-result v2 add-int/lit8 v2, v2, 0x1 invoke-virtual {v0, v1, v2}, Lcom/google/common/collect/ObjectCountHashMap;->put(Ljava/lang/Object;I)I goto :goto_0 :cond_0 return-object v0 .end method .method public static filter(Ljava/util/Collection;Lcom/google/common/base/Predicate;)Ljava/util/Collection; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "TE;>;", "Lcom/google/common/base/Predicate<", "-TE;>;)", "Ljava/util/Collection<", "TE;>;" } .end annotation .line 1 instance-of v0, p0, Lcom/google/common/collect/Collections2$FilteredCollection; if-eqz v0, :cond_0 .line 2 check-cast p0, Lcom/google/common/collect/Collections2$FilteredCollection; invoke-virtual {p0, p1}, Lcom/google/common/collect/Collections2$FilteredCollection;->createCombined(Lcom/google/common/base/Predicate;)Lcom/google/common/collect/Collections2$FilteredCollection; move-result-object p0 return-object p0 .line 3 :cond_0 new-instance v0, Lcom/google/common/collect/Collections2$FilteredCollection; invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 check-cast p0, Ljava/util/Collection; invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Lcom/google/common/base/Predicate; invoke-direct {v0, p0, p1}, Lcom/google/common/collect/Collections2$FilteredCollection;->(Ljava/util/Collection;Lcom/google/common/base/Predicate;)V return-object v0 .end method .method private static isPermutation(Ljava/util/List;Ljava/util/List;)Z .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "*>;", "Ljava/util/List<", "*>;)Z" } .end annotation .line 1 invoke-interface {p0}, Ljava/util/List;->size()I move-result v0 invoke-interface {p1}, Ljava/util/List;->size()I move-result v1 const/4 v2, 0x0 if-eq v0, v1, :cond_0 return v2 .line 2 :cond_0 invoke-static {p0}, Lcom/google/common/collect/Collections2;->counts(Ljava/util/Collection;)Lcom/google/common/collect/ObjectCountHashMap; move-result-object v0 .line 3 invoke-static {p1}, Lcom/google/common/collect/Collections2;->counts(Ljava/util/Collection;)Lcom/google/common/collect/ObjectCountHashMap; move-result-object v1 .line 4 invoke-interface {p0}, Ljava/util/List;->size()I move-result v3 invoke-interface {p1}, Ljava/util/List;->size()I move-result p1 if-eq v3, p1, :cond_1 return v2 :cond_1 move p1, v2 .line 5 :goto_0 invoke-interface {p0}, Ljava/util/List;->size()I move-result v3 if-ge p1, v3, :cond_3 .line 6 invoke-virtual {v0, p1}, Lcom/google/common/collect/ObjectCountHashMap;->getValue(I)I move-result v3 invoke-virtual {v0, p1}, Lcom/google/common/collect/ObjectCountHashMap;->getKey(I)Ljava/lang/Object; move-result-object v4 invoke-virtual {v1, v4}, Lcom/google/common/collect/ObjectCountHashMap;->get(Ljava/lang/Object;)I move-result v4 if-eq v3, v4, :cond_2 return v2 :cond_2 add-int/lit8 p1, p1, 0x1 goto :goto_0 :cond_3 const/4 p0, 0x1 return p0 .end method .method public static newStringBuilderForCollection(I)Ljava/lang/StringBuilder; .locals 5 const-string v0, "size" .line 1 invoke-static {p0, v0}, Lcom/google/common/collect/CollectPreconditions;->checkNonnegative(ILjava/lang/String;)I .line 2 new-instance v0, Ljava/lang/StringBuilder; int-to-long v1, p0 const-wide/16 v3, 0x8 mul-long/2addr v1, v3 const-wide/32 v3, 0x40000000 invoke-static {v1, v2, v3, v4}, Ljava/lang/Math;->min(JJ)J move-result-wide v1 long-to-int p0, v1 invoke-direct {v0, p0}, Ljava/lang/StringBuilder;->(I)V return-object v0 .end method .method public static orderedPermutations(Ljava/lang/Iterable;)Ljava/util/Collection; .locals 1 .annotation build Lcom/google/common/annotations/Beta; .end annotation .annotation system Ldalvik/annotation/Signature; value = { ";>(", "Ljava/lang/Iterable<", "TE;>;)", "Ljava/util/Collection<", "Ljava/util/List<", "TE;>;>;" } .end annotation .line 1 invoke-static {}, Lcom/google/common/collect/Ordering;->natural()Lcom/google/common/collect/Ordering; move-result-object v0 invoke-static {p0, v0}, Lcom/google/common/collect/Collections2;->orderedPermutations(Ljava/lang/Iterable;Ljava/util/Comparator;)Ljava/util/Collection; move-result-object p0 return-object p0 .end method .method public static orderedPermutations(Ljava/lang/Iterable;Ljava/util/Comparator;)Ljava/util/Collection; .locals 1 .annotation build Lcom/google/common/annotations/Beta; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Iterable<", "TE;>;", "Ljava/util/Comparator<", "-TE;>;)", "Ljava/util/Collection<", "Ljava/util/List<", "TE;>;>;" } .end annotation .line 2 new-instance v0, Lcom/google/common/collect/Collections2$OrderedPermutationCollection; invoke-direct {v0, p0, p1}, Lcom/google/common/collect/Collections2$OrderedPermutationCollection;->(Ljava/lang/Iterable;Ljava/util/Comparator;)V return-object v0 .end method .method public static permutations(Ljava/util/Collection;)Ljava/util/Collection; .locals 1 .annotation build Lcom/google/common/annotations/Beta; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "TE;>;)", "Ljava/util/Collection<", "Ljava/util/List<", "TE;>;>;" } .end annotation .line 1 new-instance v0, Lcom/google/common/collect/Collections2$PermutationCollection; invoke-static {p0}, Lcom/google/common/collect/ImmutableList;->copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableList; move-result-object p0 invoke-direct {v0, p0}, Lcom/google/common/collect/Collections2$PermutationCollection;->(Lcom/google/common/collect/ImmutableList;)V return-object v0 .end method .method public static safeContains(Ljava/util/Collection;Ljava/lang/Object;)Z .locals 0 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end param .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "*>;", "Ljava/lang/Object;", ")Z" } .end annotation .line 1 invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; .line 2 :try_start_0 invoke-interface {p0, p1}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z move-result p0 :try_end_0 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0 .catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_0} :catch_0 return p0 :catch_0 const/4 p0, 0x0 return p0 .end method .method public static safeRemove(Ljava/util/Collection;Ljava/lang/Object;)Z .locals 0 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end param .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "*>;", "Ljava/lang/Object;", ")Z" } .end annotation .line 1 invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; .line 2 :try_start_0 invoke-interface {p0, p1}, Ljava/util/Collection;->remove(Ljava/lang/Object;)Z move-result p0 :try_end_0 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0 .catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_0} :catch_0 return p0 :catch_0 const/4 p0, 0x0 return p0 .end method .method public static toStringImpl(Ljava/util/Collection;)Ljava/lang/String; .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "*>;)", "Ljava/lang/String;" } .end annotation .line 1 invoke-interface {p0}, Ljava/util/Collection;->size()I move-result v0 invoke-static {v0}, Lcom/google/common/collect/Collections2;->newStringBuilderForCollection(I)Ljava/lang/StringBuilder; move-result-object v0 const/16 v1, 0x5b invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; .line 2 invoke-interface {p0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object v1 const/4 v2, 0x1 :goto_0 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v3 if-eqz v3, :cond_2 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 if-nez v2, :cond_0 const-string v2, ", " .line 3 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; :cond_0 const/4 v2, 0x0 if-ne v3, p0, :cond_1 const-string v3, "(this Collection)" .line 4 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; goto :goto_0 .line 5 :cond_1 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; goto :goto_0 :cond_2 const/16 p0, 0x5d .line 6 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static transform(Ljava/util/Collection;Lcom/google/common/base/Function;)Ljava/util/Collection; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "TF;>;", "Lcom/google/common/base/Function<", "-TF;TT;>;)", "Ljava/util/Collection<", "TT;>;" } .end annotation .line 1 new-instance v0, Lcom/google/common/collect/Collections2$TransformedCollection; invoke-direct {v0, p0, p1}, Lcom/google/common/collect/Collections2$TransformedCollection;->(Ljava/util/Collection;Lcom/google/common/base/Function;)V return-object v0 .end method