按时间排序java源代码 java date排序

怎么从文本中匹配日期格式并按此排序(Java)import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestExp {
public static void main(String[] args) {
ListMapString,Object rs = new ArrayListMapString,Object();
//假定日期字符串的格式为yyyy-MM-dd
String[] s = {"adfkjaskdfakf2012-11-23asdfasdfads",
"asdfasddfafll2011-12-03asdfasfdaa",
"asdfasddfafll2013-02-05asdfasfdaa",
"asdfasddfafll2013-01-03asdfasfdaa"};
//用正则表达式匹配日期字符串
Pattern pattern = Pattern.compile("(\\d{4})(-)(\\d{2})(-)(\\d{2})");
for (int i = 0; is.length; i++) {
MapString,Object map = new HashMapString, Object();
Date date = null;
Matcher m = pattern.matcher(s[i]);
if(m.find()){
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse(m.group());
} catch (ParseException e) {
e.printStackTrace();
}
}
map.put("date", date);
map.put("value", s[i]);
rs.add(map);
}
//用冒泡法排序
for (int i = 0; irs.size(); i++) {
for (int j = i; jrs.size(); j++) {
if(((Date)rs.get(i).get("date")).after((Date)rs.get(j).get("date"))){
MapString,Object tmp = rs.set(i, rs.get(j));
rs.set(j, tmp);
}
}
}
for (int i = 0; irs.size(); i++) {
System.out.println(rs.get(i).get("value"));
}
}
}
java实现日期排序问题java按文件日期排序方法,下面以对C盘Java目录下文件进行按日期排序为例:
//引用java.io包里的所有类
import java.io.*;
import java.util.*;
public class FileOrder{
//按日期排序
public static void orderByDate(String fliePath) {
File file = new File(fliePath);
File[] fs = file.listFiles();
Arrays.sort(fs,new Comparator File(){
public int compare(File f1, File f2) {
long diff = f1.lastModified() - f2.lastModified();
if (diff0)
return 1;
else if (diff == 0)
return 0;
else
return -1;
}
public boolean equals(Object obj) {
return true;
}
});
for (int i = fs.length-1; i -1; i--) {
System.out.println(fs[i].getName());
System.out.println(new Date(fs[i].lastModified()));
}
}
public static void main(String args[]){
orderByDate("c:/java"); //调用方法对c:/java目录下文件按日期排序
}
【按时间排序java源代码 java date排序】}
Java几种简单的排序源代码给你介绍4种排序方法及源码,供参考
1.冒泡排序
主要思路: 从前往后依次交换两个相邻的元素,大的交换到后面,这样每次大的数据就到后面,每一次遍历 , 最大的数据到达最后面,时间复杂度是O(n^2) 。
public static void bubbleSort(int[] arr){
for(int i =0; iarr.length - 1; i++){
for(int j=0; jarr.length-1; j++){
if(arr[j]arr[j+1]){
arr[j] = arr[j]^arr[j+1];
arr[j+1] = arr[j]^arr[j+1];
arr[j] = arr[j]^arr[j+1];
}
}
}
}
2.选择排序
主要思路:每次遍历序列,从中选取最小的元素放到最前面,n次选择后 , 前面就都是最小元素的排列了,时间复杂度是O(n^2) 。
public static void selectSort(int[] arr){
for(int i = 0; i arr.length -1; i++){
for(int j = i+1; jarr.length; j++){
if(arr[j]arr[i]){
arr[j] = arr[j]^arr[i];
arr[i] = arr[j]^arr[i];
arr[j] = arr[j]^arr[i];
}
}
}
}
3.插入排序
主要思路:使用了两层嵌套循环,逐个处理待排序的记录 。每个记录与前面已经排好序的记录序列进行比较,并将其插入到合适的位置,时间复杂度是O(n^2) 。

推荐阅读