ch.lambdaj.Lambda.collect()方法的使用及代码示例

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

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

Lambda.collect介绍

[英]Collects the items in the given iterable putting them in a List. Actually it handles also Maps, Arrays and Iterator by collecting their values. Note that this method accepts an Object in order to be used in conjunction with the Lambda#forEach(Iterable).
[中]收集给定iterable中的项并将其放入列表中。实际上,它还通过收集映射、数组和迭代器的值来处理它们。请注意,此方法接受一个对象,以便与Lambda#forEach(Iterable)一起使用。

代码示例

代码示例来源:origin: org.motechproject/motech-mobileforms-api

  1. public List<FormBean> sortByDependency() {
  2. final ArrayList<FormBean> formBeansClone = new ArrayList<FormBean>(formBeans);
  3. List<FormBean> sortedFormBeans = new ArrayList<FormBean>();
  4. for (FormBean formBean : formBeans) {
  5. if (CollectionUtils.isEmpty(formBean.getDepends())) {
  6. sortedFormBeans.add(formBean);
  7. formBeansClone.remove(formBean);
  8. }
  9. }
  10. final List<String> namesOfForms = collect(formBeans, on(FormBean.class).getFormname());
  11. resolveDependency(sortedFormBeans, formBeansClone, namesOfForms);
  12. return sortedFormBeans;
  13. }

代码示例来源:origin: mariofusco/lambdaj

  1. /**
  2. * For each item in the given iterable collects the value defined by the given argument and put them in a List.
  3. * For example the following code:
  4. * <pre>
  5. * List&lt;Person&gt; myFriends = asList(new Person("Biagio", 39), new Person("Luca", 29), new Person("Celestino", 29));
  6. * List&lt;Integer&gt; ages = collect(meAndMyFriends, on(Person.class).getAge());
  7. * </pre>
  8. * extracts the ages of all the Persons in the list and put them in a List of Integer.
  9. * <p/>
  10. * Actually it handles also Maps, Arrays and Iterator by collecting their values.
  11. * Note that this method accepts an Object in order to be used in conjunction with the {@link Lambda#forEach(Iterable)}.
  12. * @param iterable The iterable of which the items should be collected
  13. * @param argument An argument defined using the {@link Lambda#on(Class)} method
  14. * @return A List containing all the items collected from the give iterable
  15. * @throws RuntimeException if the iterable is not an Iterable or a Map
  16. */
  17. public static <T> List<T> collect(Object iterable, T argument) {
  18. return (List<T>)collect(convert(iterable, new ArgumentConverter<Object, T>(argument)));
  19. }

代码示例来源:origin: org.motechproject/motech-mobileforms-api

  1. private void resolveDependency(List<FormBean> sortedFormBeans, List<FormBean> unprocessedFormBeans, List<String> namesOfForms) {
  2. if (!unprocessedFormBeans.isEmpty()) {
  3. int processedNodes = 0;
  4. for (FormBean unprocessedFormBean : new ArrayList<FormBean>(unprocessedFormBeans)) {
  5. boolean independent = true;
  6. for (String dependent : unprocessedFormBean.getDepends()) {
  7. if (namesOfForms.contains(dependent)) {
  8. List<String> processedFormNames = collect(sortedFormBeans, on(FormBean.class).getFormname());
  9. if (!processedFormNames.contains(dependent)) {
  10. independent = false;
  11. break;
  12. }
  13. }
  14. }
  15. if (independent) {
  16. sortedFormBeans.add(unprocessedFormBean);
  17. unprocessedFormBeans.remove(unprocessedFormBean);
  18. processedNodes++;
  19. }
  20. }
  21. if (processedNodes > 0) {
  22. resolveDependency(sortedFormBeans, unprocessedFormBeans, namesOfForms);
  23. } else {
  24. throw new MotechException("Detected cyclic mobile form dependencies");
  25. }
  26. }
  27. }

代码示例来源:origin: org.motechproject/message-aggregator

  1. private boolean canBeDelivered(MessageGroup group) {
  2. final Collection<Message<?>> messages = group.getMessages();
  3. if (messages.size() <= 0) {
  4. return false;
  5. }
  6. List<T> eventsInPayload = convert(collect(messages, on(Message.class).getPayload()), new Converter<Object, T>() {
  7. @Override
  8. public T convert(Object from) {
  9. return (T) from;
  10. }
  11. });
  12. boolean canBeDispatched = aggregationHandler.canBeDispatched(eventsInPayload);
  13. logger.debug("Events: " + eventsInPayload + ". Can be dispatched? " + canBeDispatched);
  14. return canBeDispatched;
  15. }
  16. }

代码示例来源:origin: org.motechproject/motech-mobileforms-api

  1. List<FormBean> allForms = flatten(collect(studies, on(Study.class).forms()));
  2. for (Study study : studies) {
  3. for (FormBeanGroup group : study.groupedForms()) {

代码示例来源:origin: org.motechproject/motech-mobileforms-api

  1. private void handleDownloadUsersAndForms(ByteArrayOutputStream byteStream, DataInputStream dataInput)
  2. throws IOException, SerializerException {
  3. try {
  4. serializer.serializeUsers(byteStream, usersService.getUsers());
  5. } catch (Exception e) {
  6. throw new SerializerException(e);
  7. }
  8. int studyIndex = dataInput.readInt();
  9. FormGroup groupNameAndForms = mobileFormsService.getForms(studyIndex);
  10. List<String> formsXmlContent = collect(groupNameAndForms.getForms(), on(Form.class).content());
  11. try {
  12. serializer.serializeForms(byteStream, formsXmlContent, studyIndex, groupNameAndForms.getName());
  13. } catch (Exception e) {
  14. throw new SerializerException(e);
  15. }
  16. }

相关文章