title: intersection of map values and set
body: <p>I have a hypothetical map - <code>HashMap&lt;String,List&lt;String&gt;&gt; mapteachertostudents</code>.<br>
  There is a separate set - <code>Set&lt;String&gt; giftedstudents</code>.<br>
  The ask is simply print out the common students  using java 1.7</p>
  
  <pre><code>mapteachertostudents { 'A':'a,b,c';'B':'b,e';'C':'b,c,f'}
  giftedstudents ['b','c','e']
  expected output ['b']
  </code></pre>
  
  <p>Is there a more efficient routine than iterating each teacher and maintaining state,considering that this comparison has to be run over 10000+ maps each.</p>