Bonjour,
Tu peux utiliser la méthode Arrays.sort pour un tableau, ou Collections.sort pour une liste, il faudra juste leur préciser un Comparator qui permettra de comparer deux valeurs.
Exemple :
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class DateComparator implements Comparator<String>
{
private final SimpleDateFormat format;
private final boolean ascending;
public DateComparator(String pattern)
{
this(pattern, true);
}
public DateComparator(String pattern, boolean ascending)
{
this.format = new SimpleDateFormat(pattern);
this.ascending = ascending;
}
@Override
public int compare(String str1, String str2)
{
try
{
int n = format.parse(str1).compareTo(format.parse(str2));
return ascending ? +n : -n;
}
catch (ParseException | NullPointerException e)
{
throw new IllegalArgumentException(e);
}
}
public static void main(String[] args)
{
String[] array = {"01-01-2014", "30-06-2013", "01-01-2013", "30-06-2014"};
Arrays.sort(array, new DateComparator("dd-MM-yyyy"));
System.out.println(Arrays.toString(array));
List<String> list = Arrays.asList("01-01-2014", "30-06-2013", "01-01-2013", "30-06-2014");
Collections.sort(list, new DateComparator("dd-MM-yyyy"));
System.out.println(list);
}
}