org.apache.commons.io.comparator
Class CompositeFileComparator
- java.lang.Object
-
- org.apache.commons.io.comparator.CompositeFileComparator
-
- All Implemented Interfaces:
- Serializable, Comparator< File>
public class CompositeFileComparator extends Object implements Serializable
Compare two files using a set of delegate fileComparator
.This comparator can be used to sort lists or arrays of files by combining a number other comparators.
Example of sorting a list of files by type (i.e. directory or file) and then by name:
CompositeFileComparator comparator = new CompositeFileComparator( (AbstractFileComparator) DirectoryFileComparator.DIRECTORY_COMPARATOR, (AbstractFileComparator) NameFileComparator.NAME_COMPARATOR); List<File> list = ... comparator.sort(list);
- Since:
- 2.0
- See Also:
- Serialized Form
-
Constructor Summary
Constructors Constructor and Description CompositeFileComparator(Comparator<File>... delegates)
Create a composite comparator for the set of delegate comparators.CompositeFileComparator(Iterable<Comparator<File>> delegates)
Create a composite comparator for the set of delegate comparators.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description int
compare(File file1, File file2)
Compare the two files using delegate comparators.File[]
sort(File... files)
Sort an array of files.List<File>
sort(List<File> files)
Sort a List of files.String
toString()
String representation of this file comparator.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Comparator
comparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Constructor Detail
CompositeFileComparator
public CompositeFileComparator(Comparator<File>... delegates)
Create a composite comparator for the set of delegate comparators.- Parameters:
-
delegates
- The delegate file comparators
CompositeFileComparator
public CompositeFileComparator(Iterable<Comparator<File>> delegates)
Create a composite comparator for the set of delegate comparators.- Parameters:
-
delegates
- The delegate file comparators
Method Detail
compare
public int compare(File file1, File file2)
Compare the two files using delegate comparators.- Specified by:
-
compare
in interfaceComparator<File>
- Parameters:
-
file1
- The first file to compare -
file2
- The second file to compare - Returns:
- the first non-zero result returned from the delegate comparators or zero.
toString
public String toString()
String representation of this file comparator.- Returns:
- String representation of this file comparator
sort
public File[] sort(File... files)
Sort an array of files.This method uses
Arrays.sort(Object[], Comparator)
and returns the original array.- Parameters:
-
files
- The files to sort, may be null - Returns:
- The sorted array
- Since:
- 2.0
sort
public List<File> sort(List<File> files)
Sort a List of files.This method uses
Collections.sort(List, Comparator)
and returns the original list.- Parameters:
-
files
- The files to sort, may be null - Returns:
- The sorted list
- Since:
- 2.0
Copyright © 2002–2021 The Apache Software Foundation. All rights reserved.