我有日期的arrayLists,它是String格式,那么如何对这个arraylists进行排序,
ArrayList<String> aryBeginDate;
ArrayList<String> aryDueDate;
for (int i = 0; i < arySubject.size(); i++) {
RowItem row = new RowItem();
row.setSubject(arySubject.get(i).toString());
row.setUser(aryFromUser.get(i).toString());
if (aryBeginDate.equals(" ")) {
row.setStartDate(" ");
} else {
row.setStartDate(aryBeginDate.get(i).toString()); \\Have to sort at this line
}
if (aryDueDate.equals(" ")) {
row.setEndDate(" ");
} else {
row.setEndDate(aryDueDate.get(i).toString()); \\Have to sort at this line
}
aryListBean.add(row);
}
要使用日期时,请不要使用字符串。使用日期。显示日期时,只能将日期转换为字符串。否则,在代码中的任何地方,日期都应为Date类型。这是允许按时间顺序进行排序的原因,因为日期具有按时间顺序排列的自然顺序。
因此,一旦RowItem
a startDate
和an endDate
都为type
Date
,则可以使用简单的比较器按开始日期对行项目列表进行排序:
Collections.sort(rowItems, new Comparator<RowItem>() {
@Override
public int compare(RowItem r1, RowItem 2) {
return r1.getStartDate().compareTo(r2.getStartDate());
}
});
另外,修复您的if / else块的缩进,因为您的方式确实不可读:
if (aryBeginDate.equals(" ")) {
row.setStartDate(" ");
}
else {
row.setStartDate(aryBeginDate.get(i).toString());
}
问题内容: 我创建了一个sqlite数据库,该数据库具有一个存储温度值的表。第一次将温度值以升序写入数据库。然后,我将数据库中的温度值读取到一个列表中,然后将该列表添加到组合框中以选择温度- 效果很好。 结果列表为: 然后,我向数据库添加一个新的温度值,例如“ 33”。 它被附加到表的末尾。如果我现在阅读温度,列表将变为: 如果我做或,最终的结果是 有什么简单的方法可以按升序对列表进行排序,以便得
我想按第三个和第一个元素对元组数组进行排序,因此我使用了以下代码: 我的问题是,在前面的例子中,我可以按第三个元素和第一个元素的升序排序,也可以按它们的降序排序(使用反向)。但是如何按第三个元素的升序和第一个元素的降序排序。 请在你的回答中考虑以下情况: 在这种情况下,我不知道内部数组的确切大小(取决于我读入该数组的文件模式),我想按侧中的所有项进行排序(一些升序和一些降序)。 编辑:看起来,我明
我正在尝试对我的数组进行升序和降序排序。不过,我似乎不知道如何正确地执行此操作。我尝试了不同的方法,但都不起作用。当我单击两个按钮时,应该会发生这种情况,一个ID为“stigande”升序,一个ID为“ 爪哇语
我有98000个美国家庭街道地址,我需要按照“步行”的顺序进行排序,也就是说,按照你要走的顺序,沿着街道的一侧走,然后穿过街道往回走。 所需的df结果,对奇数街道编号进行升序排序,然后对偶数街道编号切换到降序排序。[抱歉,第一个问题,还没有资格复制Jupyter笔记本的图像] 4列:数字、街道、城镇、偶数 “编号”列的预期结果:1231 1233 1235 1237 1239 1238 1236
问题内容: 我知道这听起来微不足道,但是我没有意识到 的功能很奇怪。我有一个实际上是字符串形式的“数字”列表,因此我先将它们转换为整数,然后尝试进行排序。 给我: 我想要的是 我四处寻找与排序数字集相关的算法,但是我发现所有算法都涉及对字母数字集进行排序。 我知道这可能是个没有脑子的问题,但是google和我的教科书没有提供比该.sort()功能有用的功能。 问题答案: 您实际上尚未将字符串转换为
问题内容: 我正在尝试对包含数字的字符串列表进行排序 但是列表是排序而不是列表 问题答案: 您要基于值(而不是字符串值)进行排序,因此请尝试: