java.util.stream.Collectors.maxBy()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(7.1k)|赞(0)|评价(0)|浏览(207)

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

Collectors.maxBy介绍

暂无

代码示例

代码示例来源:origin: RichardWarburton/java-8-lambdas-exercises

  1. public static Artist byCollecting(List<Artist> artists) {
  2. return artists.stream()
  3. .collect(Collectors.maxBy(byNameLength))
  4. .orElseThrow(RuntimeException::new);
  5. }

代码示例来源:origin: RichardWarburton/java-8-lambdas-exercises

  1. public Optional<Artist> biggestGroup(Stream<Artist> artists) {
  2. Function<Artist,Long> getCount = artist -> artist.getMembers().count();
  3. return artists.collect(maxBy(comparing(getCount)));
  4. }
  5. // END BIGGEST_GROUP

代码示例来源:origin: goldmansachs/gs-collections

  1. @Benchmark
  2. public Position maxByMarketValue_serial_lazy_collect_lambda_jdk()
  3. {
  4. return this.positions.getJdkPositions().stream().collect(
  5. Collectors.maxBy(MARKET_VALUE_COMPARATOR_LAMBDA)).get();
  6. }

代码示例来源:origin: goldmansachs/gs-collections

  1. @Benchmark
  2. public Position maxByQuantity_serial_lazy_collect_lambda_jdk()
  3. {
  4. return this.positions.getJdkPositions().stream().collect(
  5. Collectors.maxBy(QUANTITY_COMPARATOR_LAMBDA)).get();
  6. }

代码示例来源:origin: goldmansachs/gs-collections

  1. @Benchmark
  2. public Position maxByQuantity_serial_lazy_collect_methodref_jdk()
  3. {
  4. return this.positions.getJdkPositions().stream().collect(
  5. Collectors.maxBy(QUANTITY_COMPARATOR_METHODREF)).get();
  6. }

代码示例来源:origin: goldmansachs/gs-collections

  1. @Benchmark
  2. public Position maxByMarketValue_serial_lazy_collect_methodref_jdk()
  3. {
  4. return this.positions.getJdkPositions().stream().collect(
  5. Collectors.maxBy(MARKET_VALUE_COMPARATOR_METHODREF)).get();
  6. }

代码示例来源:origin: Netflix/conductor

  1. /**
  2. * Get all failed and cancelled tasks.
  3. * for failed tasks - get one for each task reference name(latest failed using seq id)
  4. *
  5. * @param workflow
  6. * @return list of latest failed tasks, one for each task reference reference type.
  7. */
  8. @VisibleForTesting
  9. List<Task> getFailedTasksToRetry(Workflow workflow) {
  10. return workflow.getTasks().stream()
  11. .filter(x -> FAILED.equals(x.getStatus()))
  12. .collect(groupingBy(Task::getReferenceTaskName, maxBy(comparingInt(Task::getSeq))))
  13. .values().stream()
  14. .filter(Optional::isPresent)
  15. .map(Optional::get)
  16. .collect(Collectors.toList());
  17. }

代码示例来源:origin: goldmansachs/gs-collections

  1. @Benchmark
  2. public Position maxByQuantity_parallel_lazy_collect_lambda_jdk()
  3. {
  4. return this.positions.getJdkPositions().parallelStream().collect(
  5. Collectors.maxBy(QUANTITY_COMPARATOR_LAMBDA)).get();
  6. }

代码示例来源:origin: goldmansachs/gs-collections

  1. @Benchmark
  2. public Position maxByQuantity_parallel_lazy_collect_methodref_jdk()
  3. {
  4. return this.positions.getJdkPositions().parallelStream().collect(
  5. Collectors.maxBy(QUANTITY_COMPARATOR_METHODREF)).get();
  6. }

代码示例来源:origin: goldmansachs/gs-collections

  1. @Benchmark
  2. public Position maxByMarketValue_parallel_lazy_collect_methodref_jdk()
  3. {
  4. return this.positions.getJdkPositions().parallelStream().collect(
  5. Collectors.maxBy(MARKET_VALUE_COMPARATOR_METHODREF)).get();
  6. }

代码示例来源:origin: goldmansachs/gs-collections

  1. @Benchmark
  2. public Position maxByMarketValue_parallel_lazy_collect_lambda_jdk()
  3. {
  4. return this.positions.getJdkPositions().parallelStream().collect(
  5. Collectors.maxBy(MARKET_VALUE_COMPARATOR_LAMBDA)).get();
  6. }

代码示例来源:origin: Graylog2/graylog2-server

  1. @GET
  2. @RequiresPermissions(RestPermissions.USERS_LIST)
  3. @ApiOperation(value = "List all users", notes = "The permissions assigned to the users are always included.")
  4. public UserList listUsers() {
  5. final List<User> users = userService.loadAll();
  6. final Collection<MongoDbSession> sessions = sessionService.loadAll();
  7. // among all active sessions, find the last recently used for each user
  8. //noinspection OptionalGetWithoutIsPresent
  9. final Map<String, Optional<MongoDbSession>> lastSessionForUser = sessions.stream()
  10. .filter(s -> s.getUsernameAttribute().isPresent())
  11. .collect(groupingBy(s -> s.getUsernameAttribute().get(),
  12. maxBy(Comparator.comparing(MongoDbSession::getLastAccessTime))));
  13. final List<UserSummary> resultUsers = Lists.newArrayListWithCapacity(users.size() + 1);
  14. final User adminUser = userService.getAdminUser();
  15. resultUsers.add(toUserResponse(adminUser, lastSessionForUser.getOrDefault(adminUser.getName(), Optional.empty())));
  16. for (User user : users) {
  17. resultUsers.add(toUserResponse(user, lastSessionForUser.getOrDefault(user.getName(), Optional.empty())));
  18. }
  19. return UserList.create(resultUsers);
  20. }

代码示例来源:origin: aol/cyclops

  1. public final static <T> Optional<T> max(final Stream<T> stream, final Comparator<? super T> comparator) {
  2. return stream.collect(java.util.stream.Collectors.maxBy(comparator));
  3. }

代码示例来源:origin: biezhi/learn-java8

  1. public static void main(String[] args) {
  2. List<Project> projects = Project.buildData();
  3. Collection<Project> collect = projects.stream()
  4. .collect(toCollection(CopyOnWriteArrayList::new));
  5. System.out.println(collect);
  6. Map<String, Project> collect1 = projects.stream()
  7. .collect(groupingBy(Project::getAuthor, collectingAndThen(
  8. maxBy(Comparator.comparingInt(Project::getStars)),
  9. Optional::get
  10. )));
  11. System.out.println(collect1);
  12. }
  13. }

代码示例来源:origin: senbox-org/s2tbx

  1. public ImageMetadata getMaxResolutionImage() {
  2. return componentMetadata.stream()
  3. .filter(metadata -> metadata instanceof ImageMetadata)
  4. .map(metadata -> (ImageMetadata) metadata)
  5. .collect(Collectors.maxBy(Comparator.comparingInt(ImageMetadata::getRasterWidth)))
  6. .get();
  7. }

代码示例来源:origin: senbox-org/s2tbx

  1. public int getSceneHeight() {
  2. return componentMetadata.stream()
  3. .filter(metadata -> metadata instanceof ImageMetadata)
  4. .map(metadata -> (ImageMetadata) metadata)
  5. .map(ImageMetadata::getRasterHeight)
  6. .collect(Collectors.maxBy(Integer::compare))
  7. .get();
  8. }

代码示例来源:origin: hasadna/open-bus

  1. private String calcLastServiceArrivalTime(String routeId, Map<String, List<GtfsRecord>> tripsOfRoute) {
  2. List<GtfsRecord> allTrips = tripsOfRoute.get(routeId);
  3. String lastArrival = allTrips.stream()
  4. .map(gtfsRecord -> gtfsRecord.getLastStopTime().getArrivalTime())
  5. .collect(Collectors.maxBy(Comparator.naturalOrder())).orElse("23:59");
  6. return lastArrival;
  7. }

代码示例来源:origin: org.opensingular/singular-form-wicket

  1. public Optional<ValidationErrorLevel> findNestedErrorsMaxLevel(FeedbackFence feedbackFence, IPredicate<ValidationError> filter) {
  2. return collectNestedErrors(feedbackFence, resolveRootInstances(feedbackFence.getMainContainer()), filter).stream()
  3. .map(ValidationError::getErrorLevel)
  4. .collect(Collectors.maxBy(Comparator.naturalOrder()));
  5. }

代码示例来源:origin: org.opensingular/form-wicket

  1. public Optional<ValidationErrorLevel> findNestedErrorsMaxLevel(FeedbackFence feedbackFence, IPredicate<IValidationError> filter) {
  2. return collectNestedErrors(feedbackFence, resolveRootInstances(feedbackFence.getMainContainer()), filter).stream()
  3. .map(IValidationError::getErrorLevel)
  4. .collect(Collectors.maxBy(Comparator.naturalOrder()));
  5. }

代码示例来源:origin: apache/james-project

  1. private Mono<Integer> saveBlobParts(byte[] data, BlobId blobId) {
  2. Stream<Pair<Integer, ByteBuffer>> chunks = dataChunker.chunk(data, configuration.getBlobPartSize());
  3. return Flux.fromStream(chunks)
  4. .publishOn(Schedulers.elastic(), PREFETCH)
  5. .flatMap(pair -> writePart(pair.getValue(), blobId, getChunkNum(pair)))
  6. .collect(Collectors.maxBy(Comparator.comparingInt(x -> x)))
  7. .flatMap(Mono::justOrEmpty)
  8. .map(this::numToCount)
  9. .defaultIfEmpty(0);
  10. }

相关文章