Idea to Java ArrayLists

Paul Sandoz paul.sandoz at
Fri Jul 10 08:46:46 UTC 2015

Hi Philipp,

This area has been the subject of much discussion over the years.

Previously we investigated the idea of collection literals in the following research JEP:

See discussion on lambda-dev:

We concluded, as a result of that discussion, that it would instead be better to reduce the scope of the problem and focus on convenient factory methods. See the following draft JEP that Stuart is working on:


On Jul 9, 2015, at 5:55 PM, Philipp Bibik <philipp at> 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