Idea to Java ArrayLists
Martin Buchholz
martinrb at google.com
Thu Jul 9 16:26:26 UTC 2015
Many people have thought about this kind of thing, but it's complicated.
Many people regret having java constructors (instead of factory methods).
Many people regret how varargs worked out, because generics and arrays
don't mix well.
Many people think java should have List and Map literals.
See how guava tried to do ImmutableList.of, which works well in practice,
but is ugly ("don't look behind the curtain!")
On Thu, Jul 9, 2015 at 8:55 AM, 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