在Java中的ArrayList中排序

时间:2013-10-19 15:25:41

标签: java sorting arraylist

我不知道如何使用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代表什么?任何人都能解释其逻辑流程吗?谢谢!

2 个答案:

答案 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进行排序。