Commit d43a588

mokha <mokha@cisco.com>
2019-05-03 18:54:07
use an ArrayList<T> and String.join instead of concatenating strings
1 parent 704e7db
Changed files (2)
assignments
assignment1
src
main
java
ca
mokhan
test
java
ca
assignments/assignment1/src/main/java/ca/mokhan/assignment1/BanffMarathonRunner.java
@@ -2,6 +2,7 @@ package ca.mokhan.assignment1;
 
 import java.util.Arrays;
 import java.util.Objects;
+import java.util.ArrayList;
 
 public class BanffMarathonRunner extends AddressBook
 {
@@ -47,13 +48,12 @@ public class BanffMarathonRunner extends AddressBook
   public static String getAboveAverageRunners(BanffMarathonRunner[] runners)
   {
     int average = getAverageTime(runners);
-    String result = "";
-
-    for (BanffMarathonRunner runner : runners) {
-      if (runner.time >= average) {
-        result += runner.toString() + System.lineSeparator();
-      }
-    }
-    return result;
+    ArrayList<String> winners = new ArrayList<String>();
+
+    for (BanffMarathonRunner runner : runners)
+      if (runner.time >= average)
+        winners.add(runner.toString());
+
+    return String.join(System.lineSeparator(), winners);
   }
 }
assignments/assignment1/src/test/java/ca/mokhan/assignment1/BanffMarathonRunnerTest.java
@@ -61,8 +61,7 @@ public class BanffMarathonRunnerTest extends TestCase
       "James 1",
       "Jane 1",
       "Emily 4",
-      "Neda 3",
-      ""
+      "Neda 3"
     );
     assertEquals(expected, BanffMarathonRunner.getAboveAverageRunners(this.runners));
   }