利用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;
}
}
利用Java程序将字符串进行排序与拼接的更多相关文章
- Java实现中文字符串的排序功能
package test; /** * * @Title 书的信息类 * @author LR * @version 1.0 * @since 2016-04-21 */ public class B ...
- 如何利用java程序实现加密所需的公钥、密钥、数字证书
本篇的主要目的在于实现pdf的数字签名问题,只是作为我学习知识的总结. 1.数字签名算法的概述 本部分主要参考于:https://blog.csdn.net/lovelichao12/article/ ...
- 利用java程序构造mysql测试数据
package com.baidu.mysql;import java.sql.*; public class MysqlJdbc { /** * @param args */ public stat ...
- 编写Java程序,将一个int型数组拼接成字符串
返回本章节 返回作业目录 需求说明: 将一个int数组中的元素拼接成int元素以逗号分隔字符串. 实现思路: 定义一个数组变量int[] arrs = {12,21,33,9,2}. 定义一个方法ar ...
- 六大利器助Java程序开发事半功倍
实用的开发工具对于Java程序开发者来说,工作起来事半功倍.本文中小编将为大家列举包括开发环境.分析测试.代码保护等实用工具. 开发环境 Sonarqube Sonarqube是一个开源平台,是一款代 ...
- js与java正则表达式处理字符串问题
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要.正则表达式就是用于描述这些规则的工具.换句话说,正则表达式就是记录文本规则的代码.合理使用正则表达式确实会为程序员省去很多字 ...
- Java实现经典七大经典排序算法
利用Java语言实现七大经典排序算法:冒泡排序.选择排序.插入排序.希尔排序.堆排序.归并排序以及快速排序. 分类 类别 算法 插入排序类 插入排序.希尔排序 选择排序类 选择排序.堆排序 交换排序类 ...
- JAVA 基础编程练习题40 【程序 40 字符串排序】
40 [程序 40 字符串排序] 题目:字符串排序. package cskaoyan; public class cskaoyan40 { @org.junit.Test public void a ...
- java中字符串的排序(1)
按照前段时间在快速.冒泡等排序的评论中提到是否可以进行字符串的排序,由于最近有考试,时间比较紧,所以今天才实现此功能.此功能是针对一串字符川进行的实现,运行后的结果如下所示: 具体的程序相对较为简单, ...
随机推荐
- Java 常见注解
@Retention 1.RetentionPolicy.SOURCE —— 这种类型的Annotations只在源代码级别保留,编译时就会被忽略2.RetentionPolicy.CLASS —— ...
- 27、BLASTN的参数
转载:http://blog.sina.com.cn/s/blog_5ecfd9d90100ksui.html http://www.docin.com/p-704735699.html 与之前的bl ...
- 1. xss原理分析与剖析(1)
0×01 前言: <xss攻击手法>一开始在互联网上资料并不多(都是现成的代码,没有从基础的开始),直到刺的<白帽子讲WEB安全>和cn4rry的<XSS跨站脚本攻击剖析 ...
- 会话临时表 ORA-14452
需要使用Oracle的临时表,向其中插入记录,用完后再删除.但是后来发现临时表的删除总是失败,返回错误: ORA-14452: attempt to create, alter or drop an ...
- Git error: unable to create file xxx: Filename too long
一.问题描述 在使用 git 时,提示 error: unable to create file xxx: Filename too long error: unable to create file ...
- 51nod1138(连续和)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1138 题意:中文题诶- 思路:假设 x=a1+(a1+1)+ ...
- 51nod1010(枚举+二分)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1010 题意:中文题诶- 思路:求第一个比 x (1<= ...
- 图解 SSH上传安装tomcat
安装步骤: 1.SSH上传压缩包 2.[root@localhost soft]# tar -zxvf apache-tomcat-7.0.61.tar.gz //解压安装 解压结果 3.[r ...
- 为什么要把系统拆分成分布式的,为啥要用Dubbo?
阅读本文大概需要 6 分钟. 作者:yanglbme 1.面试题 为什么要进行系统拆分?如何进行系统拆分?拆分后不用 dubbo 可以吗? 2.面试官心里分析 从这个问题开始就进行分布式系统环节了,好 ...
- CF616D Longest k-Good Segment
题目描述 给定一个包含\(n\)个整数的序列\(a\),\(0\le a_i \le 10^6\),询问不重复数字个数\(\le k\)的最长区间的左右端点.如果有多解输出任意一组. 输入输出格式 输 ...