Ashley Feng wrote:so far i have...
Like Vijay, I can't see anything logically wrong with your method, but it does contain a few possibilities for improvement:
1. I'd definitely get into the habit of using for-each loops for collections, because
(a) they usually have less boilerplate.
(b) they're less likely to be affected by the type of Collection they operate on.
For example, your method could be re-written:
and it will work just as fast whether your List is an ArrayList or a LinkedList (your loop won't).
Their main disadvantage is that you have to define the index outside the loop, but in this case I reckon it's probably worth it.
2. Prefer variables to method calls. Your loop has to call
size() for each iteration, but
only calls it once. Now in this case it probably doesn't make a lot of difference, but it is worth remembering.
3. Cover all your bases. Your method silently returns a valid index (0) if the supplied List is empty, whereas the example above returns -1. An alternative is to throw an Exception, which is equally valid. Just remember to allow for it
and document what happens.
HIH
Winston