有以下代码,我不能改变过期。 :
for (Iterator<String> i = expirations.iterator(); i.hasNext();) {
String item = i.next();
System.out.println(+item);
}
打印出以下内容:
20180329
20180615
20180119
20180316
20180921
20180216
20171222
20180105
我需要按日期对它进行排序,并通过像var result [1]之类的东西来取第一个;
我尝试了这个,但它没有排序:
for (Iterator<String> i = expirations.iterator(); i.hasNext();) {
String item = i.next();
List list = new ArrayList();
list.add(item);
// Sort list
Collections.sort(list);
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println("sort LIST EXPIRATION: "+iterator.next());
}
}
答案 0 :(得分:0)
你可以这样做:
List<String> expirations = Arrays.asList(new String[] {"20180329", "20180615", "20180119",
"20180316", "20180921", "20180216", "20171222", "20180105"});
Set<String> sortedSet = new TreeSet<>(expirations);
for (Iterator<String> i = sortedSet.iterator(); i.hasNext();) {
String item = i.next();
System.out.println(item);
}
我不知道你的expirations
是什么,所以我只是把它简单化了。
输出:
20171222
20180105
20180119
20180216
20180316
20180329
20180615
20180921
请注意,Set
不允许重复,因此如果您想保留重复内容,则必须使用其他方法。