[ https://issues.apache.org/jira/browse/HADOOP-14477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
BELUGA BEHR updated HADOOP-14477: --------------------------------- Attachment: HADOOP-14477.1.patch > FileSystem Simplify / Optimize listStatus Method > ------------------------------------------------ > > Key: HADOOP-14477 > URL: https://issues.apache.org/jira/browse/HADOOP-14477 > Project: Hadoop Common > Issue Type: Improvement > Affects Versions: 2.7.3, 3.0.0-alpha3 > Reporter: BELUGA BEHR > Priority: Minor > Attachments: HADOOP-14477.1.patch > > > {code:title=org.apache.hadoop.fs.FileSystem.listStatus(ArrayList<FileStatus>, > Path, PathFilter)} > /* > * Filter files/directories in the given path using the user-supplied path > * filter. Results are added to the given array <code>results</code>. > */ > private void listStatus(ArrayList<FileStatus> results, Path f, > PathFilter filter) throws FileNotFoundException, IOException { > FileStatus listing[] = listStatus(f); > if (listing == null) { > throw new IOException("Error accessing " + f); > } > for (int i = 0; i < listing.length; i++) { > if (filter.accept(listing[i].getPath())) { > results.add(listing[i]); > } > } > } > {code} > {code:title=org.apache.hadoop.fs.FileSystem.listStatus(Path, PathFilter)} > public FileStatus[] listStatus(Path f, PathFilter filter) > throws FileNotFoundException, IOException { > ArrayList<FileStatus> results = new ArrayList<FileStatus>(); > listStatus(results, f, filter); > return results.toArray(new FileStatus[results.size()]); > } > {code} > We can be smarter about this: > # Use enhanced for-loops > # Optimize for the case where there are zero files in a directory, save on > object instantiation > # More encapsulated design -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org