我想像这样对一个名为 imageList 的 ArrayList 进行排序:
Collections.sort(imageList, new MapComparator(Function.KEY_TIMESTAMP, "dsc"));
Run Code Online (Sandbox Code Playgroud)
这工作正常,但现在我希望能够设置一个限制(只显示最新的 100 张图像,其中 ArrayList 未排序,所以简单地创建一个子列表是行不通的)出于性能原因。
我的 MapComparator 类如下所示:
class MapComparator implements Comparator<HashMap<String, String>>
{
private final String key;
private final String order;
public MapComparator(String key, String order)
{
this.key = key;
this.order = order;
}
public int compare(HashMap<String, String> first,
HashMap<String, String> second)
{
String firstValue = first.get(key);
String secondValue = second.get(key);
if(this.order.toLowerCase().contentEquals("asc"))
{
return firstValue.compareTo(secondValue);
}else{
return secondValue.compareTo(firstValue);
}
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道如何实现?提前致谢!