Просмотр исходного кода

Anagram: Simplify model answer

These few lines of code can be shortened using Stream.
Zhi Yuan Yong 8 лет назад
Родитель
Сommit
e772d2c852
1 измененных файлов: 4 добавлений и 9 удалений
  1. 4
    9
      exercises/anagram/.meta/src/reference/java/Anagram.java

+ 4
- 9
exercises/anagram/.meta/src/reference/java/Anagram.java Просмотреть файл

@@ -1,4 +1,5 @@
1 1
 import java.util.*;
2
+import java.util.stream.Collectors;
2 3
 
3 4
 class Anagram {
4 5
 
@@ -9,15 +10,9 @@ class Anagram {
9 10
     }
10 11
 
11 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 18
     static final class AnagramSubject {