利用Java程序将字符串进行排序与拼接

1、初始生成字符串的代码程序:

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;
	}

}
时间: 2024-07-31 20:00:48

利用Java程序将字符串进行排序与拼接的相关文章

Java实现中文字符串的排序功能

1 package test; 2 3 /** 4 * 5 * @Title 书的信息类 6 * @author LR 7 * @version 1.0 8 * @since 2016-04-21 9 */ 10 11 public class Book { 12 13 private String book_id; 14 15 private String book_name; 16 17 private String publishing_house; 18 19 public Book(S

【Java】利用Java对配置文件操作实现Java程序的国际化

不仅仅是大名鼎鼎的Struts2,即便是小小的Java程序也能够实现国际化,根本就不用像网上大部分所说的那样,非西欧字符,例如我们的中文,岛国的日语之类的,必须使用native2ascii转码,坦诚,国际化字符串的配置文件xx_语言.propreties并不支持非西欧字符,只能转码存储,但你完全可以利用到我在<[Java]配置文件概念,Java对配置文件的操作>(点击打开链接)所介绍的方法,利用Java程序完成这个国际化的配置文件.Java会帮你自动转码. 一.基本目标 完成对大名鼎鼎的hel

[转]各种排序算法及其java程序实现

原文:http://blog.csdn.net/t12x3456/article/details/7430700 各种排序算法:冒择路(入)兮(稀)快归堆,桶式排序,基数排序 冒泡排序,选择排序,插入排序,稀尔排序,快速排序,归并排序,堆排序,桶式排序,基数排序 一.冒泡排序(BubbleSort)1. 基本思想: 两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止.2. 排序过程: 设想被排序的数组R[1..N]垂直竖立,将每个数据元素看作有重量的

黑马程序员----java基础--String字符串

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.String类概述 java中用String类进行描述对字符串进行了对象的封装.这样的好处是可以对字符串这种常见数据进行方便的操作.对象封装后,可以定义N多属性和行为. String类是final的,也就是说它没有子类. 二.String字符串的特点 1.字符串一旦被初始化就不可以被改变.并且存放在方法区中的常量池中. 1 class StringDemo{ 2 public static

转载--编写高质量代码:改善Java程序的151个建议(第4章:字符串___建议52~55)

阅读目录 建议52:推荐使用String直接量赋值 建议53:注意方法中传递的参数要求 建议54:正确使用String.StringBuffer.StringBuilder 建议55:注意字符串的位置 回到顶部 建议52:推荐使用String直接量赋值 一般对象都是通过new关键字生成的,但是String还有第二种生成方式,也就是我们经常使用的直接声明方式,这种方式是极力推荐的,但不建议使用new String("A")的方式赋值.为什么呢?我们看如下代码: public class

编写高质量代码:改善Java程序的151个建议(第4章:字符串___建议52~55)

建议52:推荐使用String直接量赋值 一般对象都是通过new关键字生成的,但是String还有第二种生成方式,也就是我们经常使用的直接声明方式,这种方式是极力推荐的,但不建议使用new String("A")的方式赋值.为什么呢?我们看如下代码: public class Client58 { public static void main(String[] args) { String str1 = "詹姆斯"; String str2 = "詹姆斯

如何利用 JConsole观察分析Java程序的运行,进行排错调优(转)

如何利用 JConsole观察分析Java程序的运行,进行排错调优 博客分类: JAVA JavaOracleSUNEclipseJDK 一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行.您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码. 二.如何启动JConsole 如果是从命令行启

利用jdk自带的运行监控工具JConsole观察分析Java程序的运行

利用jdk自带的运行监控工具JConsole观察分析Java程序的运行 原文链接 一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行.您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码. 二.如何启动JConsole 如果是从命令行启动,使 JDK 在 PATH 上,运行 jconsole

利用java开发一个双击执行的小程序

之前我们利用java写了很多东西,但是好像都没有什么实际意义. 因为有意义桌面小程序怎么都得有个界面,可是界面又不太好搞.或者 了解到这一层的人就少之又少了. 呀,是不是还得开辟一些版面来介绍awt和 swing... 算了 先把这个 双击执行的小程序 贡献出来. 这次 在分享一下源代码[以前还没有上传过源代码,布置怎么个搞法] 要求是: 输入一个 后缀名,然后输入所在目录,然后 点击查找,比如我们可以 输入F:\,然后查找 F盘下面的所有后缀名为比如.pdf 举例: 主要是 看了很多 资源,然