What is the difference in these two declarations?
<pre><code>List&lt;String&gt; someName = new ArrayList&lt;String&gt;();

ArrayList&lt;String&gt; someName = new ArrayList&lt;String&gt;();
</code></pre>

<ol>
<li>Does it impact anything on performance?</li>
<li>The first one is a List of Objects and the latter one is ArrayList of Objects. Correct me if i am wrong. I got confused because ArrayList implements List Interface.</li>
<li>Why do people declare like this? Does it help in any situtions.</li>
<li>When i am receiving some email address from DB, what is the best way to collect it? List of eMail address Objects????</li>
<li>Finally one unrelated question.... can an interface have two method names with same name and signature and same name with different signature.</li>
</ol>
