Javaプログラムによる文字列のソートと接続
3485 ワード
1、文字列を初期に生成するコードプログラム:
2、mainメソッド呼び出しパッチのメソッド
3、プログラムを並べ替える
4、つづり文字列
package com.map.test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
/**
* @param args
*/
public static List<Map<String, String>> maps = new ArrayList<Map<String,String>>();
static{
Map m1 = new HashMap<String, String>();
m1.put("total", "10");
m1.put("createTime", "2014-10-18");
maps.add(m1);
Map m2 = new HashMap<String, String>();
m2.put("total", "20");
m2.put("createTime", "2014-10-15");
maps.add(m2);
Map m3 = new HashMap<String, String>();
m3.put("total", "30");
m3.put("createTime", "2014-10-19");
maps.add(m3);
Map m4 = new HashMap<String, String>();
m4.put("total", "40");
m4.put("createTime", "2014-10-17");
maps.add(m4);
Map m5 = new HashMap<String, String>();
m5.put("total", "50");
m5.put("createTime", "2014-10-16");
maps.add(m5);
Map m6 = new HashMap<String, String>();
m6.put("total", "60");
m6.put("createTime", "2014-10-20");
maps.add(m6);
Map m7 = new HashMap<String, String>();
m7.put("total", "70");
m7.put("createTime", "2014-10-21");
maps.add(m7);
}
2、mainメソッド呼び出しパッチのメソッド
public static void main(String[] args) {
// TODO Auto-generated method stub
sortList(maps);
getTimeString();
getTotalString();
}
3、プログラムを並べ替える
package com.map.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Comparator;
import java.util.Date;
import java.util.Map;
public class ReportCompare implements Comparator<Map<String, String>> {
@Override
public int compare(Map<String, String> o1, Map<String, String> o2) {
String o1Time = o1.get("createTime");
String o2Time = o2.get("createTime");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date o1D = sdf.parse(o1Time);
Date o2D = sdf.parse(o2Time);
if (o1D.before(o2D)) {
return -1;
}else if (o1D.equals(o2D)) {
return 0;
}else if (o1D.after(o2D)) {
return 1;
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 2;
}
}
4、つづり文字列
public static void getTimeString() {
StringBuffer sb = new StringBuffer("[");
for (Map<String, String> map : maps) {
sb.append("'"+map.get("createTime")+"',");
}
sb.deleteCharAt(sb.length()-1);
sb.append("]");
System.out.println(sb.toString());
}
public static void getTotalString() {
StringBuffer sb = new StringBuffer("[");
for (Map<String, String> map : maps) {
sb.append(map.get("total")+",");
}
sb.deleteCharAt(sb.length()-1);
sb.append("]");
System.out.println(sb.toString());
}
public static List<Map<String, String>> sortList(List<Map<String, String>> maps){
Collections.sort(maps, new ReportCompare());
return maps;
}
}