com.google.common.collect.Maps.doDifference()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(15.4k)|赞(0)|评价(0)|浏览(165)

本文整理了Java中com.google.common.collect.Maps.doDifference()方法的一些代码示例,展示了Maps.doDifference()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Maps.doDifference()方法的具体详情如下:
包路径:com.google.common.collect.Maps
类名称:Maps
方法名:doDifference

Maps.doDifference介绍

暂无

代码示例

代码示例来源:origin: google/guava

/**
 * Computes the difference between two maps. This difference is an immutable snapshot of the state
 * of the maps at the time this method is called. It will never change, even if the maps change at
 * a later time.
 *
 * <p>Since this method uses {@code HashMap} instances internally, the keys of the supplied maps
 * must be well-behaved with respect to {@link Object#equals} and {@link Object#hashCode}.
 *
 * @param left the map to treat as the "left" map for purposes of comparison
 * @param right the map to treat as the "right" map for purposes of comparison
 * @param valueEquivalence the equivalence relationship to use to compare values
 * @return the difference between the two maps
 * @since 10.0
 */
public static <K, V> MapDifference<K, V> difference(
  Map<? extends K, ? extends V> left,
  Map<? extends K, ? extends V> right,
  Equivalence<? super V> valueEquivalence) {
 Preconditions.checkNotNull(valueEquivalence);
 Map<K, V> onlyOnLeft = newLinkedHashMap();
 Map<K, V> onlyOnRight = new LinkedHashMap<>(right); // will whittle it down
 Map<K, V> onBoth = newLinkedHashMap();
 Map<K, MapDifference.ValueDifference<V>> differences = newLinkedHashMap();
 doDifference(left, right, valueEquivalence, onlyOnLeft, onlyOnRight, onBoth, differences);
 return new MapDifferenceImpl<>(onlyOnLeft, onlyOnRight, onBoth, differences);
}

代码示例来源:origin: google/guava

/**
 * Computes the difference between two sorted maps, using the comparator of the left map, or
 * {@code Ordering.natural()} if the left map uses the natural ordering of its elements. This
 * difference is an immutable snapshot of the state of the maps at the time this method is called.
 * It will never change, even if the maps change at a later time.
 *
 * <p>Since this method uses {@code TreeMap} instances internally, the keys of the right map must
 * all compare as distinct according to the comparator of the left map.
 *
 * <p><b>Note:</b>If you only need to know whether two sorted maps have the same mappings, call
 * {@code left.equals(right)} instead of this method.
 *
 * @param left the map to treat as the "left" map for purposes of comparison
 * @param right the map to treat as the "right" map for purposes of comparison
 * @return the difference between the two maps
 * @since 11.0
 */
public static <K, V> SortedMapDifference<K, V> difference(
  SortedMap<K, ? extends V> left, Map<? extends K, ? extends V> right) {
 checkNotNull(left);
 checkNotNull(right);
 Comparator<? super K> comparator = orNaturalOrder(left.comparator());
 SortedMap<K, V> onlyOnLeft = Maps.newTreeMap(comparator);
 SortedMap<K, V> onlyOnRight = Maps.newTreeMap(comparator);
 onlyOnRight.putAll(right); // will whittle it down
 SortedMap<K, V> onBoth = Maps.newTreeMap(comparator);
 SortedMap<K, MapDifference.ValueDifference<V>> differences = Maps.newTreeMap(comparator);
 doDifference(left, right, Equivalence.equals(), onlyOnLeft, onlyOnRight, onBoth, differences);
 return new SortedMapDifferenceImpl<>(onlyOnLeft, onlyOnRight, onBoth, differences);
}

代码示例来源:origin: wildfly/wildfly

/**
 * Computes the difference between two maps. This difference is an immutable snapshot of the state
 * of the maps at the time this method is called. It will never change, even if the maps change at
 * a later time.
 *
 * <p>Since this method uses {@code HashMap} instances internally, the keys of the supplied maps
 * must be well-behaved with respect to {@link Object#equals} and {@link Object#hashCode}.
 *
 * @param left the map to treat as the "left" map for purposes of comparison
 * @param right the map to treat as the "right" map for purposes of comparison
 * @param valueEquivalence the equivalence relationship to use to compare values
 * @return the difference between the two maps
 * @since 10.0
 */
public static <K, V> MapDifference<K, V> difference(
  Map<? extends K, ? extends V> left,
  Map<? extends K, ? extends V> right,
  Equivalence<? super V> valueEquivalence) {
 Preconditions.checkNotNull(valueEquivalence);
 Map<K, V> onlyOnLeft = newLinkedHashMap();
 Map<K, V> onlyOnRight = new LinkedHashMap<>(right); // will whittle it down
 Map<K, V> onBoth = newLinkedHashMap();
 Map<K, MapDifference.ValueDifference<V>> differences = newLinkedHashMap();
 doDifference(left, right, valueEquivalence, onlyOnLeft, onlyOnRight, onBoth, differences);
 return new MapDifferenceImpl<>(onlyOnLeft, onlyOnRight, onBoth, differences);
}

代码示例来源:origin: wildfly/wildfly

/**
 * Computes the difference between two sorted maps, using the comparator of the left map, or
 * {@code Ordering.natural()} if the left map uses the natural ordering of its elements. This
 * difference is an immutable snapshot of the state of the maps at the time this method is called.
 * It will never change, even if the maps change at a later time.
 *
 * <p>Since this method uses {@code TreeMap} instances internally, the keys of the right map must
 * all compare as distinct according to the comparator of the left map.
 *
 * <p><b>Note:</b>If you only need to know whether two sorted maps have the same mappings, call
 * {@code left.equals(right)} instead of this method.
 *
 * @param left the map to treat as the "left" map for purposes of comparison
 * @param right the map to treat as the "right" map for purposes of comparison
 * @return the difference between the two maps
 * @since 11.0
 */
public static <K, V> SortedMapDifference<K, V> difference(
  SortedMap<K, ? extends V> left, Map<? extends K, ? extends V> right) {
 checkNotNull(left);
 checkNotNull(right);
 Comparator<? super K> comparator = orNaturalOrder(left.comparator());
 SortedMap<K, V> onlyOnLeft = Maps.newTreeMap(comparator);
 SortedMap<K, V> onlyOnRight = Maps.newTreeMap(comparator);
 onlyOnRight.putAll(right); // will whittle it down
 SortedMap<K, V> onBoth = Maps.newTreeMap(comparator);
 SortedMap<K, MapDifference.ValueDifference<V>> differences = Maps.newTreeMap(comparator);
 doDifference(left, right, Equivalence.equals(), onlyOnLeft, onlyOnRight, onBoth, differences);
 return new SortedMapDifferenceImpl<>(onlyOnLeft, onlyOnRight, onBoth, differences);
}

代码示例来源:origin: org.kill-bill.billing/killbill-platform-osgi-bundles-logger

/**
 * Computes the difference between two maps. This difference is an immutable snapshot of the state
 * of the maps at the time this method is called. It will never change, even if the maps change at
 * a later time.
 *
 * <p>Since this method uses {@code HashMap} instances internally, the keys of the supplied maps
 * must be well-behaved with respect to {@link Object#equals} and {@link Object#hashCode}.
 *
 * @param left the map to treat as the "left" map for purposes of comparison
 * @param right the map to treat as the "right" map for purposes of comparison
 * @param valueEquivalence the equivalence relationship to use to compare values
 * @return the difference between the two maps
 * @since 10.0
 */
public static <K, V> MapDifference<K, V> difference(
  Map<? extends K, ? extends V> left,
  Map<? extends K, ? extends V> right,
  Equivalence<? super V> valueEquivalence) {
 Preconditions.checkNotNull(valueEquivalence);
 Map<K, V> onlyOnLeft = newLinkedHashMap();
 Map<K, V> onlyOnRight = new LinkedHashMap<>(right); // will whittle it down
 Map<K, V> onBoth = newLinkedHashMap();
 Map<K, MapDifference.ValueDifference<V>> differences = newLinkedHashMap();
 doDifference(left, right, valueEquivalence, onlyOnLeft, onlyOnRight, onBoth, differences);
 return new MapDifferenceImpl<>(onlyOnLeft, onlyOnRight, onBoth, differences);
}

代码示例来源:origin: org.jboss.eap/wildfly-client-all

/**
 * Computes the difference between two maps. This difference is an immutable snapshot of the state
 * of the maps at the time this method is called. It will never change, even if the maps change at
 * a later time.
 *
 * <p>Since this method uses {@code HashMap} instances internally, the keys of the supplied maps
 * must be well-behaved with respect to {@link Object#equals} and {@link Object#hashCode}.
 *
 * @param left the map to treat as the "left" map for purposes of comparison
 * @param right the map to treat as the "right" map for purposes of comparison
 * @param valueEquivalence the equivalence relationship to use to compare values
 * @return the difference between the two maps
 * @since 10.0
 */
public static <K, V> MapDifference<K, V> difference(
  Map<? extends K, ? extends V> left,
  Map<? extends K, ? extends V> right,
  Equivalence<? super V> valueEquivalence) {
 Preconditions.checkNotNull(valueEquivalence);
 Map<K, V> onlyOnLeft = newLinkedHashMap();
 Map<K, V> onlyOnRight = new LinkedHashMap<>(right); // will whittle it down
 Map<K, V> onBoth = newLinkedHashMap();
 Map<K, MapDifference.ValueDifference<V>> differences = newLinkedHashMap();
 doDifference(left, right, valueEquivalence, onlyOnLeft, onlyOnRight, onBoth, differences);
 return new MapDifferenceImpl<>(onlyOnLeft, onlyOnRight, onBoth, differences);
}

代码示例来源:origin: at.bestsolution.efxclipse.eclipse/com.google.guava

Map<K, V> onBoth = newHashMap();
Map<K, MapDifference.ValueDifference<V>> differences = newHashMap();
doDifference(left, right, valueEquivalence, onlyOnLeft, onlyOnRight, onBoth, differences);
return new MapDifferenceImpl<K, V>(onlyOnLeft, onlyOnRight, onBoth, differences);

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-analytics

Map<K, V> onBoth = newHashMap();
Map<K, MapDifference.ValueDifference<V>> differences = newHashMap();
doDifference(left, right, valueEquivalence, onlyOnLeft, onlyOnRight, onBoth, differences);
return new MapDifferenceImpl<K, V>(onlyOnLeft, onlyOnRight, onBoth, differences);

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

Map<K, V> onBoth = newHashMap();
Map<K, MapDifference.ValueDifference<V>> differences = newHashMap();
doDifference(left, right, valueEquivalence, onlyOnLeft, onlyOnRight, onBoth, differences);
return new MapDifferenceImpl<K, V>(onlyOnLeft, onlyOnRight, onBoth, differences);

代码示例来源:origin: com.diffplug.guava/guava-collect

Map<K, V> onBoth = newLinkedHashMap();
Map<K, MapDifference.ValueDifference<V>> differences = newLinkedHashMap();
doDifference(left, right, valueEquivalence, onlyOnLeft, onlyOnRight, onBoth, differences);
return new MapDifferenceImpl<K, V>(onlyOnLeft, onlyOnRight, onBoth, differences);

代码示例来源:origin: com.google.guava/guava-jdk5

Map<K, V> onBoth = newHashMap();
Map<K, MapDifference.ValueDifference<V>> differences = newHashMap();
doDifference(left, right, valueEquivalence, onlyOnLeft, onlyOnRight, onBoth, differences);
return new MapDifferenceImpl<K, V>(onlyOnLeft, onlyOnRight, onBoth, differences);

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

Map<K, V> onBoth = newHashMap();
Map<K, MapDifference.ValueDifference<V>> differences = newHashMap();
doDifference(left, right, valueEquivalence, onlyOnLeft, onlyOnRight, onBoth, differences);
return new MapDifferenceImpl<K, V>(onlyOnLeft, onlyOnRight, onBoth, differences);

代码示例来源:origin: Nextdoor/bender

Map<K, V> onBoth = newHashMap();
Map<K, MapDifference.ValueDifference<V>> differences = newHashMap();
doDifference(left, right, valueEquivalence, onlyOnLeft, onlyOnRight, onBoth, differences);
return new MapDifferenceImpl<K, V>(onlyOnLeft, onlyOnRight, onBoth, differences);

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

SortedMap<K, MapDifference.ValueDifference<V>> differences =
  Maps.newTreeMap(comparator);
doDifference(left, right, Equivalence.equals(), onlyOnLeft, onlyOnRight, onBoth, differences);
return new SortedMapDifferenceImpl<K, V>(onlyOnLeft, onlyOnRight, onBoth, differences);

代码示例来源:origin: Nextdoor/bender

SortedMap<K, MapDifference.ValueDifference<V>> differences =
  Maps.newTreeMap(comparator);
doDifference(left, right, Equivalence.equals(), onlyOnLeft, onlyOnRight, onBoth, differences);
return new SortedMapDifferenceImpl<K, V>(onlyOnLeft, onlyOnRight, onBoth, differences);

代码示例来源:origin: org.kill-bill.billing/killbill-platform-osgi-bundles-logger

/**
 * Computes the difference between two sorted maps, using the comparator of the left map, or
 * {@code Ordering.natural()} if the left map uses the natural ordering of its elements. This
 * difference is an immutable snapshot of the state of the maps at the time this method is called.
 * It will never change, even if the maps change at a later time.
 *
 * <p>Since this method uses {@code TreeMap} instances internally, the keys of the right map must
 * all compare as distinct according to the comparator of the left map.
 *
 * <p><b>Note:</b>If you only need to know whether two sorted maps have the same mappings, call
 * {@code left.equals(right)} instead of this method.
 *
 * @param left the map to treat as the "left" map for purposes of comparison
 * @param right the map to treat as the "right" map for purposes of comparison
 * @return the difference between the two maps
 * @since 11.0
 */
public static <K, V> SortedMapDifference<K, V> difference(
  SortedMap<K, ? extends V> left, Map<? extends K, ? extends V> right) {
 checkNotNull(left);
 checkNotNull(right);
 Comparator<? super K> comparator = orNaturalOrder(left.comparator());
 SortedMap<K, V> onlyOnLeft = Maps.newTreeMap(comparator);
 SortedMap<K, V> onlyOnRight = Maps.newTreeMap(comparator);
 onlyOnRight.putAll(right); // will whittle it down
 SortedMap<K, V> onBoth = Maps.newTreeMap(comparator);
 SortedMap<K, MapDifference.ValueDifference<V>> differences = Maps.newTreeMap(comparator);
 doDifference(left, right, Equivalence.equals(), onlyOnLeft, onlyOnRight, onBoth, differences);
 return new SortedMapDifferenceImpl<>(onlyOnLeft, onlyOnRight, onBoth, differences);
}

代码示例来源:origin: org.jboss.eap/wildfly-client-all

/**
 * Computes the difference between two sorted maps, using the comparator of the left map, or
 * {@code Ordering.natural()} if the left map uses the natural ordering of its elements. This
 * difference is an immutable snapshot of the state of the maps at the time this method is called.
 * It will never change, even if the maps change at a later time.
 *
 * <p>Since this method uses {@code TreeMap} instances internally, the keys of the right map must
 * all compare as distinct according to the comparator of the left map.
 *
 * <p><b>Note:</b>If you only need to know whether two sorted maps have the same mappings, call
 * {@code left.equals(right)} instead of this method.
 *
 * @param left the map to treat as the "left" map for purposes of comparison
 * @param right the map to treat as the "right" map for purposes of comparison
 * @return the difference between the two maps
 * @since 11.0
 */
public static <K, V> SortedMapDifference<K, V> difference(
  SortedMap<K, ? extends V> left, Map<? extends K, ? extends V> right) {
 checkNotNull(left);
 checkNotNull(right);
 Comparator<? super K> comparator = orNaturalOrder(left.comparator());
 SortedMap<K, V> onlyOnLeft = Maps.newTreeMap(comparator);
 SortedMap<K, V> onlyOnRight = Maps.newTreeMap(comparator);
 onlyOnRight.putAll(right); // will whittle it down
 SortedMap<K, V> onBoth = Maps.newTreeMap(comparator);
 SortedMap<K, MapDifference.ValueDifference<V>> differences = Maps.newTreeMap(comparator);
 doDifference(left, right, Equivalence.equals(), onlyOnLeft, onlyOnRight, onBoth, differences);
 return new SortedMapDifferenceImpl<>(onlyOnLeft, onlyOnRight, onBoth, differences);
}

代码示例来源:origin: at.bestsolution.efxclipse.eclipse/com.google.guava

SortedMap<K, MapDifference.ValueDifference<V>> differences =
  Maps.newTreeMap(comparator);
doDifference(left, right, Equivalence.equals(), onlyOnLeft, onlyOnRight, onBoth, differences);
return new SortedMapDifferenceImpl<K, V>(onlyOnLeft, onlyOnRight, onBoth, differences);

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-analytics

SortedMap<K, MapDifference.ValueDifference<V>> differences =
  Maps.newTreeMap(comparator);
doDifference(left, right, Equivalence.equals(), onlyOnLeft, onlyOnRight, onBoth, differences);
return new SortedMapDifferenceImpl<K, V>(onlyOnLeft, onlyOnRight, onBoth, differences);

代码示例来源:origin: com.diffplug.guava/guava-collect

doDifference(left, right, Equivalence.equals(), onlyOnLeft, onlyOnRight, onBoth, differences);
return new SortedMapDifferenceImpl<K, V>(onlyOnLeft, onlyOnRight, onBoth, differences);

相关文章