Idea to Java ArrayLists

Remi Forax forax at univ-mlv.fr
Thu Jul 9 16:21:12 UTC 2015


Hi Philipp,

there is an issue with your proposal, with
   ArrayList<Integer> list = new ArrayList<>(1);
and
   ArrayList<Integer> list = new ArrayList<>(1, 2);

the first line will create an empty array list, the integer will be used 
to define the capacity of the list,
the second line will create a list with two values.

There is an open bug to add a bunch of static methods 'of' to do 
something similar to what you want,
   https://bugs.openjdk.java.net/browse/JDK-8026106
this is something that a lot of people will like to have and i hope that 
this can be integrated in 9.

cheers,
Rémi

On 07/09/2015 05:55 PM, Philipp Bibik wrote:
> Hi,
>
> I'm Philipp Bibik and a 16 jear old free time developer.
> I was born and live in Germany and have only an bad school english,
> so sorry for any grammar and spelling mistakes.
>
> I have an idea to improve the Java ArrayList API.
> Lists are one of the most imported and used components in the Java API.
> Although there are relay well designed, there was always something 
> that annoyed me.
>
> If you want to create an ArrayList with "String" as diamond operator 
> and add the Strings
> "1" to "5" to them, you need to do something like this:
>
>     ArrayList<String> strings = new ArrayList<>();
>     strings.add("1");
>     strings.add("2");
>     strings.add("3");
>     strings.add("4");
>     strings.add("5");
>
> I added a few lines of code the the ArrayList class:
>
>     /**
>      * @param e array whose elements are to be placed into this list
>      */
>     @SafeVarargs
>     public ArrayList(E... e) {
>         elementData = e;
>         size = elementData.length;
>     }
>
> After adding the lines above I was able to accomplish the same result
> with 77 chars / 5 lines less code:
>
>     ArrayList<String> strings = new ArrayList<>("1", "2", "3", "4", "5");
>
> In my opinion adding a constructor like this to the 
> "java.util.ArrayList" class and
> all other (at least some) classes, implementing the "java.util.List" 
> interface
> would be a big improvement to Java SE9.
>
> Thanks for reading,
>
> - Philipp Bibik.




More information about the core-libs-dev mailing list