[ 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: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org