我有一个带有两个字段名称和年份的数组列表。我想用条件输入名称对这个数组进行排序(按名称输入排序)。如果名称相同,它将按年份排序。
Example
Name Year
Ann 2000
Bech 2001
Bach 2013
Bach 2012
Chu 1999
假设我创建的函数是排序,输入是巴赫。结果将显示
Name Year
Bach 2013
Bach 2012
Ann 2000
Bech 2001
Chu 1999
因为输入是巴赫,第一个我想用“巴赫”显示所有名称如果相同的名称,我将按年份(最大 - 最小)对其进行排序。如果不是相同的“Bach”名称,我将使用 compareTo() 按 AZ 排序这是我的代码,但我没有输入条件名称。请创建一个新函数帮助我相同的 sort_inputname(String inputname)
//Class compare Name- Year
public class Search_Name_Year_Comparator implements Comparator<SearchListInformation>
{
public int compare(SearchListInformation left,
SearchListInformation right) {
// TODO Auto-generated method stub
int dateComparison;
int dataComparison = 0;
if(left.getName().compareTo(right.getName())==0)
{
if(left.getYear().compareTo(right.getYear())>0)
{
return -1;
}
else if(left.getYear().compareTo(right.getYear())<0)
{
return 1;
}
else
return 0;
}
else
return left.getName().compareTo(right.getName());