title: How to find the difference between two String ArrayList using java 8 Streams?
body: <p>I need to find the difference between the two string Array list using java 8 features .
  Current i am doing it like this </p>
  
  <pre><code>final List&lt;String&gt; a = new ArrayList&lt;&gt;();
          a.add("1");
          a.add("2");
          a.add("3");
  
          final List&lt;String&gt; b = new ArrayList&lt;&gt;();
          b.add("1");
          b.add("2");
          b.add("4");
  
          final List&lt;String&gt; result = a.stream().filter((s) -&gt; b.stream().noneMatch(s::equals))
                  .collect(Collectors.toList());
          final List&lt;String&gt; result2 = b.stream().filter((s) -&gt; a.stream().noneMatch(s::equals))
                  .collect(Collectors.toList());
  
          System.out.println(result);
          System.out.println(result2);
  
          final List&lt;String&gt; FinalResult = java.util.stream.Stream.concat(result.stream(), result2.stream())
                  .distinct()
                  .collect(Collectors.toList());   
  
          System.out.println(FinalResult);
  </code></pre>
  
  <p>Can any one suggest a cleaner and shorter code for the same thing ? I am  feeling it can be done in some other simpler way .</p>