Advertisement
JeffGrigg

RemoveDuplicatesArrayListTest

May 2nd, 2017
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 4.59 KB | None | 0 0
  1. import junit.framework.TestCase;
  2.  
  3. import java.util.*;
  4. import java.util.stream.Collectors;
  5.  
  6. public class RemoveDuplicatesArrayListTest extends TestCase {
  7.  
  8.     public void test() {
  9.         final String[] values = {   // from http://people.howstuffworks.com/14-pangrams.htm
  10.                 "sphinx",
  11.                 "of",
  12.                 "black",
  13.                 "quartz",
  14.                 "judge",
  15.                 "my",
  16.                 "vow",
  17.  
  18.                 "two",
  19.                 "driven",
  20.                 "jocks",
  21.                 "help",
  22.                 "fax",
  23.                 "my",
  24.                 "big",
  25.                 "quiz",
  26.  
  27.                 "five",
  28.                 "quacking",
  29.                 "zephyrs",
  30.                 "jolt",
  31.                 "my",
  32.                 "wax",
  33.                 "bed",
  34.  
  35.                 "the",
  36.                 "five",
  37.                 "boxing",
  38.                 "wizards",
  39.                 "jump",
  40.                 "quickly",
  41.  
  42.                 "pack",
  43.                 "my",
  44.                 "box",
  45.                 "with",
  46.                 "five",
  47.                 "dozen",
  48.                 "liquor",
  49.                 "jugs",
  50.  
  51.                 "the",
  52.                 "quick",
  53.                 "brown",
  54.                 "fox",
  55.                 "jumps",
  56.                 "over",
  57.                 "the",
  58.                 "lazy",
  59.                 "dog",
  60.  
  61.                 "jinxed",
  62.                 "wizards",
  63.                 "pluck",
  64.                 "ivy",
  65.                 "from",
  66.                 "the",
  67.                 "big",
  68.                 "quilt",
  69.  
  70.                 "crazy",
  71.                 "fredrick",
  72.                 "bought",
  73.                 "many",
  74.                 "very",
  75.                 "exquisite",
  76.                 "opal",
  77.                 "jewels",
  78.  
  79.                 "we",
  80.                 "promptly",
  81.                 "judged",
  82.                 "antique",
  83.                 "ivory",
  84.                 "buckles",
  85.                 "for",
  86.                 "the",
  87.                 "next",
  88.                 "prize",
  89.  
  90.                 "a",
  91.                 "mad",
  92.                 "boxer",
  93.                 "shot",
  94.                 "a",
  95.                 "quick",
  96.                 "gloved",
  97.                 "jab",
  98.                 "to",
  99.                 "the",
  100.                 "jaw",
  101.                 "of",
  102.                 "his",
  103.                 "dizzy",
  104.                 "opponent",
  105.  
  106.                 "jaded",
  107.                 "zombies",
  108.                 "acted",
  109.                 "quaintly",
  110.                 "but",
  111.                 "kept",
  112.                 "driving",
  113.                 "their",
  114.                 "oxen",
  115.                 "forward",
  116.  
  117.                 "the",
  118.                 "job",
  119.                 "requires",
  120.                 "extra",
  121.                 "pluck",
  122.                 "and",
  123.                 "zeal",
  124.                 "from",
  125.                 "every",
  126.                 "young",
  127.                 "wage",
  128.                 "earner"
  129.         };
  130.  
  131.         final ArrayList<String> inputArrayList = Arrays.stream(values).collect(Collectors.toCollection(ArrayList::new));
  132.  
  133.         System.out.println("inputArrayList = " + inputArrayList.toString());
  134.         System.out.println("inputArrayList.size() = " + inputArrayList.size());
  135.  
  136.         final LinkedHashSet<String> resultSet = inputArrayList.stream().collect(Collectors.toCollection(LinkedHashSet::new));
  137.  
  138.         System.out.println("resultSet = " + resultSet.toString());
  139.         System.out.println("resultSet.size() = " + resultSet.size());
  140.  
  141.         final ArrayList<String> outputArrayList = resultSet.stream().collect(Collectors.toCollection(ArrayList::new));
  142.  
  143.         System.out.println("outputArrayList = " + outputArrayList.toString());
  144.         System.out.println("outputArrayList.size() = " + outputArrayList.size());
  145.  
  146.         final Iterator<String> inputIterator  = inputArrayList.iterator();
  147.         final Iterator<String> resultIterator = resultSet.iterator();
  148.         final Iterator<String> outputIterator = outputArrayList.iterator();
  149.  
  150.         String input  = inputIterator.next();
  151.         String result = resultIterator.next();
  152.         String output = outputIterator.next();
  153.         while (inputIterator.hasNext()) {
  154.             assertEquals(result, output);
  155.             if (input.equals(output)) {
  156.                 System.out.println(input);
  157.                 result = resultIterator.next();
  158.                 output = outputIterator.next();
  159.             } else {
  160.                 System.out.println(input + " -- dup!");
  161.             }
  162.             input = inputIterator.next();
  163.         }
  164.     }
  165.  
  166. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement