我有一个视频分辨率的ArrayList看起来像这样:
“1024x768”,“800x600”,“1280x1024”等
我想基于字符串的第一部分中的数值对它进行排序。
即,上面的代码看起来像这样:
“800x600”,“1024x768”,“1280x1024”
有没有一种快速而又肮脏的方法来执行此操作,我的意思是少于2-3行代码?如果没有,正确的方法是什么?我获得的值来自对象而不是我自己的对象。它确实具有返回整数的getWidth()和getHeight()方法。
最佳答案
如果数组中的对象是带有Resolution
方法的getWidth
实例,则可以使用Comparator
对这些对象进行排序:
Collections.sort(resolutions, new Comparator {
public int compare(Resolution r1, Resolution r2) {
return Integer.valueOf(r1.getWidth()).compareTo(Integer.valueOf(r2.getWidth()));
}
});