<p>I have class method that returns a list of employees that I can iterate through.  What's the best way to return the list? Typically I just return an ArrayList. However, as I understand, interfaces are better suited for this type of action.  Which would be the best interface to use? Also, why is it better to return an interface, rather than the implementation (say ArrayList object)?  It just seems like a lot more work to me.</p>

Personally, I would use a
List
<Employee> for creating the list on the backend, and then use
IList
when you return.  When you use interfaces, it gives you the flexability to change the implementation without having to alter who's using your code.  If you wanted to stick with an ArrayList, that'd be a non-generic
IList
.