 <pre><code>Iterator&lt;Integer&gt; it=ar1.iterator(); Iterator&lt;Integer&gt; it2=ar2.iterator(); while(it.hasNext()&amp;&amp;it2.hasNext()) { result.add(new Integer(it.next().intValue()*it2.next().intValue())); } </code></pre> <p>will also work efficiently for any list. </p>