android - 如何在 Android 中对 List<Size> 进行排序

标签 android arraylist

我有一个 List<Size> list1来自 parameters.getSupportedPreviewSizes() 我想按升序排序(width * height) .
我试过Collection.sort , 但似乎不起作用。
排序列表的最佳方法是什么?谢谢。

最佳答案

使用自定义 Comparator .

A Comparator is used to compare two objects to determine their ordering with respect to each other. On a given Collection, a Comparator can be used to obtain a sorted Collection which is totally ordered.

final Camera camera = ...;
final List<Camera.Size> sizes = camera.getParameters().getSupportedPreviewSizes();
Collections.sort(sizes, new Comparator<Camera.Size>() {

  public int compare(final Camera.Size a, final Camera.Size b) {
    return a.width * a.height - b.width * b.height;
  }
});

关于android - 如何在 Android 中对 List<Size> 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12470227/

相关文章:

android - 加载 fragment 时出现 NullPointerException

android - 如何将数据从另一个 fragment 开始的 fragment 传输到 Activity

android - RelativeLayout - 向下滚动

java - 使用嵌套 for 循环将字符串数组中的字符替换为键盘左侧或右侧的相应字符

java - 是否可以使用 ArrayList<Comparable> 获取索引值?

java - 如何在 Activity 类中启用 xml Button?

android - 迁移到 Android Studio 时出现错误

java - 逻辑帮助 - 按升序查找一系列元素

java - 在 arraylist<JPanel> 中添加 JPanel

java - 将 ArrayList 分组为 JSON 数组/对象