按数据排序 java 迭代输出
sort java iteration output by data
有如下代码,我没法修改过期时间。 :
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());
}
}
你可以这样做,例如:
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
不允许重复,因此如果您想保留重复项,则必须使用其他方法。
有如下代码,我没法修改过期时间。 :
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());
}
}
你可以这样做,例如:
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
不允许重复,因此如果您想保留重复项,则必须使用其他方法。