我有两个不同的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()
但显示错误无法解析 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 naming convention 。
类应以大写字母开头,变量应以小写字母开头。
另外_
允许但不建议。
关于你的问题。
在 List
中存储特定类的实例的Object
违背了使用泛型的目的。
如果您想存储 model_tasks_pending
的两个实例并对其进行排序和model_tasks
,你应该根据接口(interface)进行推理。
引入一个包含所有必需方法的公共(public)接口(interface),并让这些类实现它。
这样你就可以替换:
private List<Object> Data = new ArrayList<>();
作者:
private List<MyModelTask> Data = new ArrayList<>();
哪里MyModelTask
是通用接口(interface)。
这样你就可以访问 MyModelTask
中定义的任何方法你可以排序 MyModelTask
通过定义 Comparator
更具体地说Comparator<MyModelTask>
如果你想对两个类的实例进行排序。
关于java - 组合两个不同的数组列表并根据时间排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45519990/