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