Przeglądaj źródła

Anagram: Simplify model answer

These few lines of code can be shortened using Stream.
Zhi Yuan Yong 8 lat temu
rodzic
commit
e772d2c852

+ 4
- 9
exercises/anagram/.meta/src/reference/java/Anagram.java Wyświetl plik

1
 import java.util.*;
1
 import java.util.*;
2
+import java.util.stream.Collectors;
2
 
3
 
3
 class Anagram {
4
 class Anagram {
4
 
5
 
9
     }
10
     }
10
 
11
 
11
     List<String> match(List<String> candidates) {
12
     List<String> match(List<String> candidates) {
12
-        List<String> anagrams = new ArrayList<String>();
13
-
14
-        for (String candidate : candidates) {
15
-            if (anagramSubject.anagramOf(candidate)) {
16
-                anagrams.add(candidate);
17
-            }
18
-        }
19
-
20
-        return anagrams;
13
+        return candidates.stream()
14
+                .filter(anagramSubject::anagramOf)
15
+                .collect(Collectors.toList());
21
     }
16
     }
22
 
17
 
23
     static final class AnagramSubject {
18
     static final class AnagramSubject {