java无法在Android中使用集合对ArrayList数据进行排序
我一直在整理Arraylist数据。我使用相同的键在单个ArrayList中传递不同的ArrayList数据。我也在列表视图中显示,但现在我坚持显示升序和降序数据
这是我的垃圾桶课
public class BothListClass implements Serializable {
public List<LstItinerary> itineraryOneWay = new ArrayList<>();
public List<LstItinerary> itineraryReturn = new ArrayList<>();
public List<LstItinerary> getItineraryOneWay() {
return itineraryOneWay;
}
public void setItineraryOneWay(List<LstItinerary> itineraryOneWay) {
this.itineraryOneWay = itineraryOneWay;
}
public List<LstItinerary> getItineraryReturn() {
return itineraryReturn;
}
public void setItineraryReturn(List<LstItinerary> itineraryReturn) {
this.itineraryReturn = itineraryReturn;
}
}
这是我的课程,示例键
public class LstItinerary implements Serializable {
@SerializedName("ArrivalDateTime")
@Expose
private String arrivalDateTime;
@SerializedName("DepartureDateTime")
@Expose
private String departureDateTime;
@SerializedName("CustomerFare")
@Expose
private Float customerFare; }
这是我的集合排序方法,它位于适配器类中。 在这个方法中,我被困在如何排序,整个数组列表中
public void sort_ascendingPrice() {
Collections.sort(arrayList_bothClass, new Comparator<BothListClass>() {
@Override
public int compare(BothListClass o1, BothListClass o2) {
Float depart1 = 0f, arrive1 = 0f, total1 = 0f, depart2 = 0f, arrive2 = 0f, total2 = 0f;
try {
depart1 = o1.itineraryOneWay.get(0).getCustomerFare();
arrive1 = o1.itineraryReturn.get(0).getCustomerFare();
total1 = depart1 + arrive1;
depart2 = o2.itineraryOneWay.get(0).getCustomerFare();
arrive2 = o2.itineraryReturn.get(0).getCustomerFare();
total2 = depart2 + arrive2;
} catch (Exception e) {
e.printStackTrace();
}
return total1.compareTo(total2);
}
});
notifyDataSetChanged();
}
共 (0) 个答案