当前位置: 首页>>代码示例>>Java>>正文


Java BiPredicate类代码示例

本文整理汇总了Java中java.util.function.BiPredicate的典型用法代码示例。如果您正苦于以下问题:Java BiPredicate类的具体用法?Java BiPredicate怎么用?Java BiPredicate使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


BiPredicate类属于java.util.function包,在下文中一共展示了BiPredicate类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testToImmutableSetMultimap

import java.util.function.BiPredicate; //导入依赖的package包/类
public void testToImmutableSetMultimap() {
  Collector<Entry<String, Integer>, ?, ImmutableSetMultimap<String, Integer>> collector =
      ImmutableSetMultimap.toImmutableSetMultimap(Entry::getKey, Entry::getValue);
  BiPredicate<ImmutableSetMultimap<?, ?>, ImmutableSetMultimap<?, ?>> equivalence =
      Equivalence.equals()
          .onResultOf(
              (ImmutableSetMultimap<?, ?> mm)
                  -> ImmutableListMultimap.copyOf(mm).asMap().entrySet().asList())
          .and(Equivalence.equals());
  CollectorTester.of(collector, equivalence)
      .expectCollects(ImmutableSetMultimap.of())
      .expectCollects(
          ImmutableSetMultimap.of("a", 1, "b", 2, "a", 3, "c", 4),
          mapEntry("a", 1),
          mapEntry("b", 2),
          mapEntry("a", 3),
          mapEntry("c", 4));
}
 
开发者ID:paul-hammant,项目名称:googles-monorepo-demo,代码行数:19,代码来源:ImmutableSetMultimapTest.java

示例2: testFlatteningToImmutableListMultimap

import java.util.function.BiPredicate; //导入依赖的package包/类
public void testFlatteningToImmutableListMultimap() {
  Collector<String, ?, ImmutableListMultimap<Character, Character>> collector =
      ImmutableListMultimap.flatteningToImmutableListMultimap(
          str -> str.charAt(0), str -> str.substring(1).chars().mapToObj(c -> (char) c));
  BiPredicate<Multimap<?, ?>, Multimap<?, ?>> equivalence =
      Equivalence.equals()
          .onResultOf((Multimap<?, ?> mm) -> ImmutableList.copyOf(mm.asMap().entrySet()))
          .and(Equivalence.equals());
  ImmutableListMultimap<Character, Character> empty = ImmutableListMultimap.of();
  ImmutableListMultimap<Character, Character> filled =
      ImmutableListMultimap.<Character, Character>builder()
          .putAll('b', Arrays.asList('a', 'n', 'a', 'n', 'a'))
          .putAll('a', Arrays.asList('p', 'p', 'l', 'e'))
          .putAll('c', Arrays.asList('a', 'r', 'r', 'o', 't'))
          .putAll('a', Arrays.asList('s', 'p', 'a', 'r', 'a', 'g', 'u', 's'))
          .putAll('c', Arrays.asList('h', 'e', 'r', 'r', 'y'))
          .build();
  CollectorTester.of(collector, equivalence)
      .expectCollects(empty)
      .expectCollects(filled, "banana", "apple", "carrot", "asparagus", "cherry");
}
 
开发者ID:paul-hammant,项目名称:googles-monorepo-demo,代码行数:22,代码来源:ImmutableListMultimapTest.java

示例3: convert

import java.util.function.BiPredicate; //导入依赖的package包/类
/**
 * Null-safely convert between two maps by applying a function to each key and value. A predicate is also specified to filter
 * the results, in case the mapping function were to generate duplicate keys, etc.
 */
public static <T1, T2, U1, U2> Map<U1, U2> convert(Map<T1, T2> toConvert,
                                                   Function<? super T1, ? extends U1> keyConverter,
                                                   Function<? super T2, ? extends U2> valueConverter,
                                                   BiPredicate<U1, U2> resultFilter) {
    if (toConvert == null) {
        return null;
    }

    Map<U1, U2> result = toConvert.entrySet().stream()
                                  .map(e -> new SimpleImmutableEntry<>(keyConverter.apply(e.getKey()),
                                                                       valueConverter.apply(e.getValue())))
                                  .filter(p -> resultFilter.test(p.getKey(), p.getValue()))
                                  .collect(Collectors.toMap(Entry::getKey, Entry::getValue));
    return Collections.unmodifiableMap(result);
}
 
开发者ID:aws,项目名称:aws-sdk-java-v2,代码行数:20,代码来源:TypeConverter.java

示例4: expireIf

import java.util.function.BiPredicate; //导入依赖的package包/类
@Nonnull
@Override
public SingleSubscriptionBuilder<T> expireIf(@Nonnull BiPredicate<SingleSubscription<T>, T> predicate, @Nonnull ExpiryTestStage... testPoints) {
    Preconditions.checkNotNull(testPoints, "testPoints");
    Preconditions.checkNotNull(predicate, "predicate");
    for (ExpiryTestStage testPoint : testPoints) {
        switch (testPoint) {
            case PRE:
                preExpiryTests.add(predicate);
                break;
            case POST_FILTER:
                midExpiryTests.add(predicate);
                break;
            case POST_HANDLE:
                postExpiryTests.add(predicate);
                break;
            default:
                throw new IllegalArgumentException("Unknown ExpiryTestPoint: " + testPoint);
        }
    }
    return this;
}
 
开发者ID:lucko,项目名称:helper,代码行数:23,代码来源:SingleBuilder.java

示例5: expireIf

import java.util.function.BiPredicate; //导入依赖的package包/类
@Nonnull
@Override
public MergedSubscriptionBuilder<T> expireIf(@Nonnull BiPredicate<MergedSubscription<T>, T> predicate, @Nonnull ExpiryTestStage... testPoints) {
    Preconditions.checkNotNull(testPoints, "testPoints");
    Preconditions.checkNotNull(predicate, "predicate");
    for (ExpiryTestStage testPoint : testPoints) {
        switch (testPoint) {
            case PRE:
                preExpiryTests.add(predicate);
                break;
            case POST_FILTER:
                midExpiryTests.add(predicate);
                break;
            case POST_HANDLE:
                postExpiryTests.add(predicate);
                break;
            default:
                throw new IllegalArgumentException("Unknown ExpiryTestPoint: " + testPoint);
        }
    }
    return this;
}
 
开发者ID:lucko,项目名称:helper,代码行数:23,代码来源:MergedBuilder.java

示例6: findAll

import java.util.function.BiPredicate; //导入依赖的package包/类
/**
 * Finds all values matching the predicate, returns as a map.
 */
public static <K,V> Map<K,V> findAll(Map<K,V> receiver, BiPredicate<K,V> predicate) {
    // try to preserve some properties of the receiver (see the groovy javadocs)
    final Map<K,V> map;
    if (receiver instanceof TreeMap) {
        map = new TreeMap<>();
    } else {
        map = new LinkedHashMap<>();
    }
    for (Map.Entry<K,V> kvPair : receiver.entrySet()) {
        if (predicate.test(kvPair.getKey(), kvPair.getValue())) {
            map.put(kvPair.getKey(), kvPair.getValue());
        }
    }
    return map;
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:19,代码来源:Augmentation.java

示例7: _search

import java.util.function.BiPredicate; //导入依赖的package包/类
private int _search(final List<K> list, final int start, final int end, final BiPredicate<K,K> isGreater, final K searchable) {
    final int mid = (start + end) / 2;
    if(list.get(mid) == searchable) return mid;

        if(start == end) {
                if (isGreater.test(list.get(mid), searchable)) {
                    return mid;
                } else {
                    return mid + 1;
                }
        }

        if(isGreater.test(list.get(mid), searchable)) {
            return _search(list, start, mid, isGreater, searchable);
        } else {
            return _search(list, mid+1, end, isGreater, searchable);
        }
}
 
开发者ID:mihsathe,项目名称:algo-kit,代码行数:19,代码来源:BinarySearch.java

示例8: sort

import java.util.function.BiPredicate; //导入依赖的package包/类
public List<K> sort(final List<K> input, final BiPredicate<K, K> isGreater) {
    int sortedResult = isSorted(input, isGreater);

    if (sortedResult == 1) return input;
    if (sortedResult == -1) {
        Collections.reverse(input);
        return input;
    }

    for(int i=1; i<input.size(); i++) {
        for(int j=0; j<i; j++) {
            if(isGreater.test(input.get(j), input.get(i))) {
                input.add(j, input.get(i));
                input.remove(i+1);
            }
        }
    }

    return input;
}
 
开发者ID:mihsathe,项目名称:algo-kit,代码行数:21,代码来源:InsertionSort.java

示例9: sort

import java.util.function.BiPredicate; //导入依赖的package包/类
@Override
public List<K> sort(final List<K> input, final BiPredicate<K, K> isGreater) {
    int sortedResult = isSorted(input, isGreater);

    if (sortedResult == 1) return input;
    if (sortedResult == -1) {
        Collections.reverse(input);
        return input;
    }

    final Future<List<K>> future = threadPool.submit(new SorterThread<>(input, isGreater, threadPool, 1));
    try {
        return future.get();
    } catch(final Exception ex) {
        throw new RuntimeException(ex);
    }
}
 
开发者ID:mihsathe,项目名称:algo-kit,代码行数:18,代码来源:ConcurrentMergeSort.java

示例10: testToImmutableSortedMultiset

import java.util.function.BiPredicate; //导入依赖的package包/类
public void testToImmutableSortedMultiset() {
  BiPredicate<ImmutableSortedMultiset<String>, ImmutableSortedMultiset<String>> equivalence =
      (ms1, ms2)
          -> ms1.equals(ms2)
              && ms1.entrySet().asList().equals(ms2.entrySet().asList())
              && ms1.comparator().equals(ms2.comparator());
  CollectorTester.of(
          ImmutableSortedMultiset.<String>toImmutableSortedMultiset(
              String.CASE_INSENSITIVE_ORDER),
          equivalence)
      .expectCollects(ImmutableSortedMultiset.emptyMultiset(String.CASE_INSENSITIVE_ORDER))
      .expectCollects(
          ImmutableSortedMultiset.orderedBy(String.CASE_INSENSITIVE_ORDER)
              .addCopies("a", 2)
              .addCopies("b", 1)
              .addCopies("c", 3)
              .build(),
          "a",
          "c",
          "b",
          "c",
          "A",
          "C");
}
 
开发者ID:paul-hammant,项目名称:googles-monorepo-demo,代码行数:25,代码来源:ImmutableSortedMultisetTest.java

示例11: testCaptureArrayList

import java.util.function.BiPredicate; //导入依赖的package包/类
@Test public void testCaptureArrayList() {
	BiPredicate<Integer, Integer> biPredicate;
	if (System.currentTimeMillis() > 5) {
		// Always uses this branch
		String data2 = optimisationBarrier(rawCityData);
		ArrayList<CountryData> cities = CountryData.parseCityData(data2);
		biPredicate = (i, e) -> cities.get(i).getPopulation() == e;
	} else {
		biPredicate = (i, e) -> i == e;
	}
	
	System.gc();
	
	assertTrue(biPredicate.test(0, 20693000));  // China
	assertTrue(biPredicate.test(16, 3040740));  // Ethiopia
	assertFalse(biPredicate.test(3, 24));       // Japan
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-systemtest,代码行数:18,代码来源:TestLambdaCapture.java

示例12: removeIf

import java.util.function.BiPredicate; //导入依赖的package包/类
boolean removeIf(BiPredicate<? super K, ? super V> filter) {
  checkNotNull(filter);
  boolean changed = false;
  for (K key : keySet()) {
    while (true) {
      V value = get(key);
      if (value == null || !filter.test(key, value)) {
        break;
      } else if (LocalCache.this.remove(key, value)) {
        changed = true;
        break;
      }
    }
  }
  return changed;
}
 
开发者ID:paul-hammant,项目名称:googles-monorepo-demo,代码行数:17,代码来源:LocalCache.java

示例13: testToImmutableListMultimap

import java.util.function.BiPredicate; //导入依赖的package包/类
public void testToImmutableListMultimap() {
  Collector<Entry<String, Integer>, ?, ImmutableListMultimap<String, Integer>> collector =
      ImmutableListMultimap.toImmutableListMultimap(Entry::getKey, Entry::getValue);
  BiPredicate<ImmutableListMultimap<?, ?>, ImmutableListMultimap<?, ?>> equivalence =
      Equivalence.equals()
          .onResultOf((ImmutableListMultimap<?, ?> mm) -> mm.asMap().entrySet().asList())
          .and(Equivalence.equals());
  CollectorTester.of(collector, equivalence)
      .expectCollects(ImmutableListMultimap.of())
      .expectCollects(
          ImmutableListMultimap.of("a", 1, "b", 2, "a", 3, "c", 4),
          mapEntry("a", 1),
          mapEntry("b", 2),
          mapEntry("a", 3),
          mapEntry("c", 4));
}
 
开发者ID:zugzug90,项目名称:guava-mock,代码行数:17,代码来源:ImmutableListMultimapTest.java

示例14: testFlatteningToImmutableSetMultimap

import java.util.function.BiPredicate; //导入依赖的package包/类
public void testFlatteningToImmutableSetMultimap() {
  Collector<String, ?, ImmutableSetMultimap<Character, Character>> collector =
      ImmutableSetMultimap.flatteningToImmutableSetMultimap(
          str -> str.charAt(0), str -> str.substring(1).chars().mapToObj(c -> (char) c));
  BiPredicate<Multimap<?, ?>, Multimap<?, ?>> equivalence =
      Equivalence.equals()
          .onResultOf((Multimap<?, ?> mm) -> ImmutableList.copyOf(mm.asMap().entrySet()))
          .and(Equivalence.equals());
  ImmutableSetMultimap<Character, Character> empty = ImmutableSetMultimap.of();
  ImmutableSetMultimap<Character, Character> filled =
      ImmutableSetMultimap.<Character, Character>builder()
          .putAll('b', Arrays.asList('a', 'n', 'a', 'n', 'a'))
          .putAll('a', Arrays.asList('p', 'p', 'l', 'e'))
          .putAll('c', Arrays.asList('a', 'r', 'r', 'o', 't'))
          .putAll('a', Arrays.asList('s', 'p', 'a', 'r', 'a', 'g', 'u', 's'))
          .putAll('c', Arrays.asList('h', 'e', 'r', 'r', 'y'))
          .build();
  CollectorTester.of(collector, equivalence)
      .expectCollects(empty)
      .expectCollects(filled, "banana", "apple", "carrot", "asparagus", "cherry");
}
 
开发者ID:paul-hammant,项目名称:googles-monorepo-demo,代码行数:22,代码来源:ImmutableSetMultimapTest.java

示例15: testFlatteningToMultimap

import java.util.function.BiPredicate; //导入依赖的package包/类
public void testFlatteningToMultimap() {
  Collector<String, ?, ListMultimap<Character, Character>> collector =
      Multimaps.flatteningToMultimap(
          str -> str.charAt(0),
          str -> str.substring(1).chars().mapToObj(c -> (char) c),
          MultimapBuilder.linkedHashKeys().arrayListValues()::build);
  BiPredicate<Multimap<?, ?>, Multimap<?, ?>> equivalence =
      Equivalence.equals()
          .onResultOf((Multimap<?, ?> mm) -> ImmutableList.copyOf(mm.asMap().entrySet()))
          .and(Equivalence.equals());
  ListMultimap<Character, Character> empty =
      MultimapBuilder.linkedHashKeys().arrayListValues().build();
  ListMultimap<Character, Character> filled =
      MultimapBuilder.linkedHashKeys().arrayListValues().build();
  filled.putAll('b', Arrays.asList('a', 'n', 'a', 'n', 'a'));
  filled.putAll('a', Arrays.asList('p', 'p', 'l', 'e'));
  filled.putAll('c', Arrays.asList('a', 'r', 'r', 'o', 't'));
  filled.putAll('a', Arrays.asList('s', 'p', 'a', 'r', 'a', 'g', 'u', 's'));
  filled.putAll('c', Arrays.asList('h', 'e', 'r', 'r', 'y'));
  CollectorTester.of(collector, equivalence)
      .expectCollects(empty)
      .expectCollects(filled, "banana", "apple", "carrot", "asparagus", "cherry");
}
 
开发者ID:paul-hammant,项目名称:googles-monorepo-demo,代码行数:24,代码来源:MultimapsTest.java


注:本文中的java.util.function.BiPredicate类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。