[
https://issues.apache.org/jira/browse/HADOOP-17152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17339856#comment-17339856
]
Ahmed Hussein commented on HADOOP-17152:
----------------------------------------
As far as I remember, there were some calls to newArrayList that are not
supported in ArrayList. Without a wrapper, you would have to replicate the code
every time the newArrayList is not supported.
for instance,
{code:java}
public static <E> ArrayList<E> newArrayList(Iterable<? extends E> elements)
public static <E> ArrayList<E> newArrayList(Iterator<? extends E> elements)
{code}
to replace newArrayList, there should be some code to iterate over the
Iterable, adding the elements to the newly created list. I assume you do not
want to do copy paste that code everywhere. Then, if you find a bug, you will
have to go fix that everywhere.
> Implement wrapper for guava newArrayList and newLinkedList
> ----------------------------------------------------------
>
> Key: HADOOP-17152
> URL: https://issues.apache.org/jira/browse/HADOOP-17152
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: common
> Reporter: Ahmed Hussein
> Assignee: Viraj Jasani
> Priority: Major
>
> guava Lists class provide some wrappers to java ArrayList and LinkedList.
> Replacing the method calls throughout the code can be invasive because guava
> offers some APIs that do not exist in java util. This Jira is the task of
> implementing those missing APIs in hadoop common in a step toward getting rid
> of guava.
> * create a wrapper class org.apache.hadoop.util.unguava.ListsĀ
> * implement the following interfaces in Lists:
> ** public static <E> ArrayList<E> newArrayList()
> ** public static <E> ArrayList<E> newArrayList(E... elements)
> ** public static <E> ArrayList<E> newArrayList(Iterable<? extends E>
> elements)
> ** public static <E> ArrayList<E> newArrayList(Iterator<? extends E>
> elements)
> ** public static <E> ArrayList<E> newArrayListWithCapacity(int
> initialArraySize)
> ** public static <E> LinkedList<E> newLinkedList()
> ** public static <E> LinkedList<E> newLinkedList(Iterable<? extends E>
> elements)
> ** public static <E> List<E> asList(@Nullable E first, E[] rest)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]