为什么排序方法在此自定义AbstractList实现上不起作用?

凯兹

Android Studiosort()addAll()方法中上给我一个“在线记录API的使用,自@ 1.8起”错误我不太清楚这意味着什么...

我只想做一个自定义项List,可以List根据的publishedAt属性对其进行排序Articles_Map

摘要文章列表

public class AbstractArticlesList extends AbstractList<Articles_Map> {
    private final List<Articles_Map> l;

    public AbstractArticlesList() {
        l = new ArrayList<>();
    }

    public Articles_Map get(int index) {
        return l.get(index);
    }

    public Articles_Map set(int index, Articles_Map element) {
        Articles_Map oldValue = l.get(index);
        l.add(index, element);
        return oldValue;
    }

    public int size() {
        return l.size();
    }

    private void doAdd(Articles_Map another) {
        l.add(another);
    }

    public void addAll(List<Articles_Map> others) {
        for (Articles_Map a : others) {
            doAdd(a);
        }
        l.sort(byPublishedAtComparator);
    }

    private final Comparator<Articles_Map> byPublishedAtComparator =
            new Comparator<Articles_Map>() {
                @Override
                public int compare(Articles_Map o1, Articles_Map o2) {
                    if (o1.publishedAt == null) {
                        return (o2.publishedAt == null) ? 0 : -1;
                    } else if (o2.publishedAt == null) {
                        return 1;
                    }
                    return o1.publishedAt.compareTo(o2.publishedAt);
                }
            };
}

Articles_Map

public class Articles_Map {
    public final String title;
    public final String description;
    public final String url;
    public final String urlToImage;
    public final Date publishedAt;

    public Articles_Map(String title, String description, String url, String urlToImage, Date publishedAt) {
        this.title = title;
        this.description = description;
        this.url = url;
        this.urlToImage = urlToImage;
        this.publishedAt = publishedAt;
    }
}
常用软件

sort()是API级别24(Android 7.0)的新增功能,这是由Android提供的,开始采用Java 1.8。

使用Collections.sort()如果你minSdkVersion低于24。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么“内容安全策略”的自定义标头在 github 上不起作用?

为什么自定义CSS类在React-Semantic-UI元素上不起作用?

为什么push在此cookie数组上不起作用?

为什么HTMLunit在此https网页上不起作用?

为什么分配在此DataFrame上不起作用

为什么setImageBitmap对自定义ImageButton不起作用?

为什么我的自定义光标不起作用?

自定义“套用刷新”在iOS上不起作用

自定义字体在移动设备上不起作用

Yii2:自定义设置方法/数据转换在ActiveRecord上不起作用?

自定义异步任务的实现不起作用

自定义排序功能不起作用

自定义分类排序顺序不起作用

Ransack 自定义排序不起作用

UITableView自定义单元在iPad Storyboard上不起作用,但在iPhone上起作用

为什么DataTables方法在表上不起作用?

为什么 PHP POST 方法在 mac 上不起作用?

为什么此合并排序实现不起作用?

为什么这种合并排序的实现不起作用?

为什么此合并排序实现不起作用?

为什么group或group_by在此版本的rails表上不起作用?

为什么<script>标记在此PHP页面上不起作用?

为什么背景大小:100%100%;在此SVG上不起作用?

为什么margin:0自动?在此输入按钮上不起作用?

为什么Count函数在此子查询上不起作用?

为什么自定义窗口中的文本框验证不起作用?

为什么我的Keras自定义损失函数不起作用?

为什么自定义快捷方式(在Jupyter Lab中清除输出)不起作用?

django-为什么此自定义中间件不起作用