Sha256: a393de602dda704735c257c2390e88c5e60eb7bee98ec8381372ad715b92457a

Contents?: true

Size: 724 Bytes

Versions: 317

Compression:

Stored size: 724 Bytes

Contents

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

final class Flattener {

    List flatten(final List nestedList) {
        if (nestedList.isEmpty()) {
            return new ArrayList<>();
        } else {
            final List result = new ArrayList();

            final Object head = nestedList.get(0);
            final List tail = nestedList.subList(1, nestedList.size());

            if (head instanceof List) {
                result.addAll(flatten((List) head));
            } else {
                result.add(head);
            }

            result.addAll(flatten(tail));
            result.removeAll(Collections.singleton(null));
            return result;
        }
    }

}

Version data entries

317 entries across 317 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.179 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.178 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.177 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.176 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.175 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.174 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.173 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.172 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.171 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.170 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.169 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.167 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.166 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.165 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.164 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.163 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.162 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.161 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java
trackler-2.2.1.160 tracks/java/exercises/flatten-array/.meta/src/reference/java/Flattener.java