我有两个不同的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);
这可以将所有数据转换为新列表。但我如何访问其中的数据?假设我想在get_creat_on()
Tasks
Data.get(0).get_creat_on()
但显示错误cannot resolve get_creat_on()
在合并两个Arraylist
后,我想根据时间对它们进行排序。我在_time
中都有Arraylist
个对象,并且它返回的格式为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;
}
}
答案 0 :(得分:3)
首先:请关注Java naming convention。
类应以大写开头,变量以小写开头
除了_
允许但不建议。
关于你的问题。
在List
Object
中存储特定类的实例会破坏使用泛型的目的。
如果您希望对model_tasks_pending
和model_tasks
的两个实例进行存储和排序,则应根据界面进行推理。
引入一个包含所有必需方法的通用接口,并使这些类实现它。
通过这种方式,您可以替换:
private List<Object> Data = new ArrayList<>();
by:
private List<MyModelTask> Data = new ArrayList<>();
其中MyModelTask
是通用界面。
通过这种方式,您可以访问MyModelTask
中定义的任何方法,如果要对实例进行排序,可以通过定义Comparator
,更具体地MyModelTask
来排序Comparator<MyModelTask>
两个班级。