繁体   English   中英

合并两个不同的数组列表并根据时间排序

[英]Combine Two different Array List and sort based on time

我有两个Diffrent ArrayList可以说:

ArrayList<model_tasks_pending> Tasks = new ArrayList<model_tasks_pending>();
ArrayList<model_task> data = new ArrayList<model_task>();

现在,我想将这两个数组列表合并为一个,并访问其中的每个数据。 这就是我尝试过的

 private List<Object> Data = new ArrayList<>();
 Data.addAll(Tasks);
 Data.addAll(data);

这样就可以将所有数据放入新的列表中。 但是我如何访问其中的数据? 可以说我要在Tasks访问get_creat_on()

Data.get(0).get_creat_on()

但显示错误cannot resolve get_creat_on()

另外,将两个Arraylist合并后,我想根据时间对它们进行排序。 我在Arraylist都有_time对象,它以这种格式08:33 AM返回时间。 任何公会如何实现这一目标?

模态类别:

model_task.java

public class model_task {
    int _id;
    String _title;
    String _body;
    String _time;

    public String get_time() {
            return _time;
        }
    public int get_id() {
        return _id;
    }
    public String get_title() {
        return _title;
    } 
    public String get_body() {
        return _body;
    }
}

model_tasks_pending.java

 public class model_tasks_pending{
        int _id;
        String _title;
        String _creat_on;
        String _time;

    public String get_time() {
            return _time;
        }
    public String get_creat_on() {
        return _creat_on;
    }
    public int get_id() {
        return _id;
    }

    public String get_title() {
        return _title;
    }

    public String get_body() {
        return _body;
    }
}

首先:请遵循Java命名约定 类应以大写字母开头,变量以小写字母开头。
除了_允许,但不建议使用。


关于你的问题。

将特定类的实例存储在“ Object List中会破坏使用泛型的目的。

如果要存储和排序model_tasks_pendingmodel_tasks两个实例, model_tasks_pending根据接口进行推理。
为所有必需的方法引入一个通用接口,并使这些类实现它。

这样,您可以替换:

 private List<Object> Data = new ArrayList<>();

创建人:

 private List<MyModelTask> Data = new ArrayList<>();

其中MyModelTask是公共接口。

这样,您可以访问MyModelTask定义的任何方法,并且可以通过定义Comparator来对MyModelTask进行排序,如果要对两个类的实例进行排序,则可以更具体地定义Comparator<MyModelTask>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM