Arraylist包含类模型。类有一个参数“状态”,其值将是“开放”,“关闭”,“即将到来”。Arraylist与基于字符串的条件进行比较
如何根据'status'参数对'arraylist'进行排序,即'open'应该首先出现,'close'&'coming'将分别跟随它。
知道的任何帮助..
Arraylist包含类模型。类有一个参数“状态”,其值将是“开放”,“关闭”,“即将到来”。Arraylist与基于字符串的条件进行比较
如何根据'status'参数对'arraylist'进行排序,即'open'应该首先出现,'close'&'coming'将分别跟随它。
知道的任何帮助..
你只需要实现Comparable接口模型类
然后实现compareTo方法与你的比较逻辑。
并致电Collections.sort(yourModelList);
做出来。
您可以找到一个实现Comparable接口here的示例。
希望这会有所帮助。
除非您的列表中的元素具有自然排序的概念,否则不会更改YourClass
以实施Comparable<YourClass>
。
相反,实施Comparator<YourClass>
,这是一个完全独立的类:
class YourClassComparator implements Comparator<YourClass> {
@Override
public int compare(YourClass a, YourClass b) {
// ...
}
}
,然后通过这方面的一个实例,以Collections.sort
:
Collections.sort(yourModelList, new YourClassComparator());
@Downvoter:谨慎解释? –
尝试此逻辑
if(value.equals("open"))
{
modelclass.setstatus("0"+value)
}
else if(value.equals("close"))
{
modelclass.setstatus("1"+value)
}
else
{
modelclass.setstatus("2"+value)
}
Collections.sort(yourModelList);
sorting arralist as per your need done and after that remove first character from that string like
String value_result=modelclass.getstatus.substring(1);
纯粹为了排序而突变数据是不必要的(最好),最坏的情况是危险的 - 如果在排序过程中抛出异常会怎么样?这会使您的数据处于损坏状态。如果另一个线程正在访问相同的数据呢?等等。如果status是一个字符串,它也只能这样工作。 –
我的逻辑根据他的要求是正确的。这是基本的级别的答案,如果提问者不知道有关类比,那么上面的答案是有用的 –
感谢Ketan的帮助。我知道java中Comparable&Comparator的用法。 Nanoc的回答帮助我了解了基于条件我们如何实现它。 –
随时提供帮助,请试用,发布一些代码f或者我们也开始。 –