Search code examples
javaarraysarraylist

In an array of arraylists, get the largest arraylist


I have an array with multiple arraylists of different sizes.

I want to find the index of the largest arraylist in the array. I tried this:

Collections.max(disc);

disc being the name of the array of arraylists.

ArrayList I believe doesn't implement the Comparable interface so I can't do it like this. Is there a way to make a custom comparable for sizes of ArrayLists?


Solution

  • If you want to know the index of the largest sub-ArrayList then you're basically looking for an information relative to where the largest ArrayList is stored. This research is not based solely on the intrinsic characteristics of your biggest ArrayList, but also on where it is located.

    Using Collections.max() won't help you, even if you redefine its natural ordering providing a new Comparator, as you would only get the largest ArrayList, not the index where it is stored. If you want to find the index, you have to manually loop the outer ArrayList and whenever you find a new largest sub-ArrayList save its index.

    Of course, what I said is based on the sole condition that you're interested in retrieving the index and not the biggest sub-ArrayList itself. If you're simply looking for the biggest sub-ArrayList, then Collections.max() with a Comparator implementation is what you need.