我不知道如何使用ArrayList进行排序,我在医学史的arraylist中有排序日期的示例代码:
........
private List<MedicalHistory> sortByDate(List<MedicalHistory> data) {
for (int i = 0; i < data.size(); i++) {
for (int j = i; j < data.size(); j++) {
if (data.get(i).getDate().compareTo(data.get(j).getDate()) > 0) {
MedicalHistory m = data.get(j);
data.set(j , data.get(i));
data.set(i, m);
.......
首先,我不知道j的含义是什么,其次,最后的data.set代表什么?任何人都能解释其逻辑流程吗?谢谢!
答案 0 :(得分:0)
您可以使用Collections.sort(数据)进行排序..
答案 1 :(得分:-1)
j是什么意思
j
是一个迭代器 - 它可以帮助你“知道”正在使用哪个元素
目前正在处理。
最后一个data.set代表什么?
data.set()
在特定位置为data
ArrayList设置新值 - 因此它将根据排序顺序保存信息。
3行:
MedicalHistory m = data.get(j);
data.set(j , data.get(i));
data.set(i, m);
基本上是将索引i
中的ArrayList中的数据与索引j
中的数据进行交换。
作为旁注,您可以使用Collections.sort()对ArrayList
进行排序。