aspose file tools*
The moose likes Beginning Java and the fly likes find the index of the longest string in an arraylist Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "find the index of the longest string in an arraylist" Watch "find the index of the longest string in an arraylist" New topic
Author

find the index of the longest string in an arraylist

Ashley Feng
Greenhorn

Joined: Jan 12, 2013
Posts: 1
i need to return the index of the longest string in the arraylist in java
so far i have



but all it does is return 0
Vijay Vishwa
Greenhorn

Joined: Nov 21, 2010
Posts: 28
Hi Ashley,
I see there is no problem in the code and logic. It works fine.
Can you first print the ArrayList and see what are the values inside. It may be that the First string is largest itself.

Here how I tested it.



Output is 2


SCJP 5.0 OCBCD 5.0(Formerly SCBCD)
Winston Gutkowski
Bartender

Joined: Mar 17, 2011
Posts: 8011
    
  22

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, butonly 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

Isn't it funny how there's always time and money enough to do it WRONG?
Articles by Winston can be found here
 
 
subject: find the index of the longest string in an arraylist