java
复制代码
ArrayList<String> fileNames = new ArrayList<>();
fileNames.add("20231001115811.log");
fileNames.add("20231002235832.log");
fileNames.add("20231008085853.log");
fileNames.add("20231007145819.log");
fileNames.add("20231009165818.log");
fileNames.add("20221020065817.log");
fileNames.add("20231010205814.log");
fileNames.add("20231012035816.log");
fileNames.add("20231019105815.log");
fileNames.add("20231013115818.log");
fileNames.add("20231017155813.log");
TreeMap<Long,String> fileNameMap= new TreeMap<Long,String>();
for (String fileName : fileNames) {
Pattern pattern = Pattern.compile("[0-9]{14}"); // 使用正则表达式匹配14位数字
Matcher matcher = pattern.matcher(fileName);
if (matcher.find()) {
String date = matcher.group();
fileNameMap.put(Long.parseLong(date), fileName);
}
}
if (!fileNameMap.isEmpty()) {
System.out.println(fileNameMap.lastEntry().getValue());
}