2017-02-28 6 views
0

私はリストresultListを持っていて、オブジェクト[]の内容の後にリストをソートしたいと思います。だから私は最初にそれをアカウントの行[11]と車両 '行[1]'の後に並べ替えたい。 Groovyで2番目のソートを行うにはどうすればいいですか?2番目の基準の後で並べ替えられたリストを並べ替える

 Object[] row = (Object[]) resultList.get(i); 
     String account = row[11]; 
     String vehicle = row[1]; 

Account  Vehicle 

    HKB   300 - PB 
    HKV   400 - PDAAA 
    HMN   200 - PBC200 
    HZA   155 - PCL 
    HZA   160 - PGA100 
    HZAB  165 - PGA100 
    HZAC  170 - PGA100 

コード

int execute(List <Object[]> resultList) { 

    Object[] row = null; 
    resultList = resultList.sort{ a,b -> a[11] <=> b[11]}; 
    //Then here I want to sort the sorted resultList after the vehicle also second group.  
    for (int i=resultList.size()-1; i >= 0; i--) { 
     row = (Object[]) resultList.get(i); 
     String account = row[11]; 
     String vehicle = row[1]; 

    } 

    return 1; 
} 
+0

いくつかの入力例と予想される出力はありますか? –

答えて

2

あなただけ交換する必要があると思う:

resultList = resultList.sort{ a,b -> a[11] <=> b[11]}; 

resultList = resultList.sort { a, b -> 
    a[11] <=> b[11] ?: a[1] <=> b[1] 
} 
関連する問題