protected AbstractPredicateBasedCombiner( boolean useCombineOne, Iterable<?> sourceCollection, int initialCapacity, Collection<T> targetCollection) { super(useCombineOne); this.result = this.initializeResult(sourceCollection, targetCollection, initialCapacity); }
protected final Collection<T> initializeResult( Iterable<?> sourceCollection, Collection<T> targetCollection, int initialCapacity) { if (targetCollection != null) { return targetCollection; } if (sourceCollection instanceof ListIterable) { return new CompositeFastList<>(); } if (sourceCollection instanceof SortedSetIterable) { return TreeSortedSet.newSet(((SortedSetIterable<T>) sourceCollection).comparator()); } if (sourceCollection instanceof SetIterable) { this.setCombineOne(true); return UnifiedSet.newSet(initialCapacity); } if (sourceCollection instanceof Bag || sourceCollection instanceof MapIterable) { return HashBag.newBag(); } return this.createResultForCollection(sourceCollection, initialCapacity); }
protected final Collection<T> initializeResult( Iterable<?> sourceCollection, Collection<T> targetCollection, int initialCapacity) { if (targetCollection != null) { return targetCollection; } if (sourceCollection instanceof ListIterable) { return new CompositeFastList<>(); } if (sourceCollection instanceof SortedSetIterable) { return TreeSortedSet.newSet(((SortedSetIterable<T>) sourceCollection).comparator()); } if (sourceCollection instanceof SetIterable) { this.setCombineOne(true); return UnifiedSet.newSet(initialCapacity); } if (sourceCollection instanceof Bag || sourceCollection instanceof MapIterable) { return HashBag.newBag(); } return this.createResultForCollection(sourceCollection, initialCapacity); }
protected final Collection<T> initializeResult( Iterable<?> sourceCollection, Collection<T> targetCollection, int initialCapacity) { if (targetCollection != null) { return targetCollection; } if (sourceCollection instanceof ListIterable) { return new CompositeFastList<>(); } if (sourceCollection instanceof SortedSetIterable) { return TreeSortedSet.newSet(((SortedSetIterable<T>) sourceCollection).comparator()); } if (sourceCollection instanceof SetIterable) { this.setCombineOne(true); return UnifiedSet.newSet(initialCapacity); } if (sourceCollection instanceof Bag || sourceCollection instanceof MapIterable) { return HashBag.newBag(); } return this.createResultForCollection(sourceCollection, initialCapacity); }
protected AbstractPredicateBasedCombiner( boolean useCombineOne, Iterable<?> sourceCollection, int initialCapacity, Collection<T> targetCollection) { super(useCombineOne); this.result = this.initializeResult(sourceCollection, targetCollection, initialCapacity); }
protected AbstractPredicateBasedCombiner( boolean useCombineOne, Iterable<?> sourceCollection, int initialCapacity, Collection<T> targetCollection) { super(useCombineOne); this.result = this.initializeResult(sourceCollection, targetCollection, initialCapacity); }