Ignore:
Timestamp:
2020-05-17T17:02:28+02:00 (4 years ago)
Author:
simon04
Message:

see #19251 - Java 8: use Stream

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/RelationToChildReference.java

    r14654 r16445  
    33
    44import java.util.Collection;
    5 import java.util.HashSet;
    65import java.util.Objects;
    76import java.util.Set;
    87import java.util.stream.Collectors;
     8import java.util.stream.IntStream;
    99
    1010/**
     
    2121    public static Set<RelationToChildReference> getRelationToChildReferences(OsmPrimitive child) {
    2222        Set<Relation> parents = child.referrers(Relation.class).collect(Collectors.toSet());
    23         Set<RelationToChildReference> references = new HashSet<>();
    24         for (Relation parent: parents) {
    25             for (int i = 0; i < parent.getMembersCount(); i++) {
    26                 if (parent.getMember(i).refersTo(child)) {
    27                     references.add(new RelationToChildReference(parent, i, parent.getMember(i)));
    28                 }
    29             }
    30         }
    31         return references;
     23        return parents.stream().flatMap(parent1 -> IntStream.range(0, parent1.getMembersCount())
     24                .filter(i -> parent1.getMember(i).refersTo(child))
     25                .mapToObj(i -> new RelationToChildReference(parent1, i, parent1.getMember(i))))
     26                .collect(Collectors.toSet());
    3227    }
    3328
     
    4035     */
    4136    public static Set<RelationToChildReference> getRelationToChildReferences(Collection<? extends OsmPrimitive> children) {
    42         Set<RelationToChildReference> references = new HashSet<>();
    43         for (OsmPrimitive child: children) {
    44             references.addAll(getRelationToChildReferences(child));
    45         }
    46         return references;
     37        return children.stream()
     38                .flatMap(child -> getRelationToChildReferences(child).stream())
     39                .collect(Collectors.toSet());
    4740    }
    4841
Note: See TracChangeset for help on using the changeset viewer.