Idea to Java ArrayLists
Paul Sandoz
paul.sandoz at oracle.com
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:
http://openjdk.java.net/jeps/186
See discussion on lambda-dev:
http://mail.openjdk.java.net/pipermail/lambda-dev/2014-January/thread.html#11671
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:
http://openjdk.java.net/jeps/8048330
Paul.
On Jul 9, 2015, at 5:55 PM, Philipp Bibik <philipp at bibik.de> 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