I noticed a strange behavior (for me) when sorting a list retrieved with Arrays.asList()
. It seems that after Collections.sort( list )
, the origin array is also sorted !
How is it possible ?
List<Rate> rates = Arrays.asList( arrayRates );
Collections.sort( rates, new RateEffectiveDateComparator() );
/* after that the rates list AND arrayRates array are sorted in the same way */
From the documentation of Arrays.asList():
Returns a fixed-size list backed by the specified array. (Changes to the returned list "write through" to the array.)
The array you pass will be the array the list is based on. When sorting the list, you are actually sorting the array. Check the sourcecode of Arrays.asList()
...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With