我有两种不同的方法,可以从两个不同的数据库表中获取数据。我将ArrayList
使用bean
类将这两个数据添加到同一数据中。
List<LeadVO> leadvoList = new ArrayList<LeadVO>(); // array list declaration
在中,while loop
我将使用bean
类加载所有数据。在执行此操作之前,我将对两个表进行查询。
while(true){
LeadVO statusVO = new LeadVO(); //initializing bean class
// code to load all value using setters
最后,我将这个bean添加到array list
:
leadvoList.add(statusVO);
创建了单独的类进行比较
公共类ComparatorDAO实现Comparator {
public int compare(LeadVO arg0, LeadVO arg1) {
return arg1.getCreatedtimeFormat().compareTo(arg0.getCreatedtimeFormat()) ;
}
}
Collections.sort(commentVOList,new ComparatorDAO()); //排序方式
理想情况下,这不会根据日期排序我相信这会将日期视为字符串
请帮助我
再次感谢
现在,我需要按列表中已存在的日期顺序对该列表进行排序。我的意思是列表中显示的日期。
如果您LeadVO
包含要排序的日期,请Comparable
在VO中实现interface,然后使用来对VO集合进行排序Collections.sort()
。
public class LeadVO implements Comparable<LeadVO> {
private Date date;
// other properties, getters and setters
@Override
public int compareTo(LeadVO other) {
return date.compareTo(other.getDate());
}
}
和这样的排序:
Collections.sort(leadVoList);
如果不能保证日期不为空,则理想情况下应该添加null检查或使用commons-lang中的ObjectUtils.compare之类的东西。
您也可以通过创建一个aComparator
来代替Comparable
其他发布者建议的实现来实现此目的,如果您需要按多个值对VO进行排序,则可能会更好。如果您只需要按日期对它进行排序,则此方法可能会更简单一些。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句