Java Map List 的使用
项目中有一个需求是将年月分两行显示:

java后台代码
创建一个demo,使用Map List 拆分年月:
package demo;
import java.util.ArrayList;
import java.util.List;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1 = "2016-10";
String s2 = "2016-11";
String s3 = "2016-12";
String s4 = "2017-1";
List<String> sList = new ArrayList<String>();
sList.add(s1);
sList.add(s2);
sList.add(s3);
sList.add(s4);
System.out.println("初始年月sList: " + sList); Map<String,Integer> yearsDic = getYearsAndCount(sList);
System.out.println("每一年下面的月份數yearsDic: " + yearsDic); //建立年份和月份集合
List<String> yearList = new ArrayList<String>();
List<String> monthList = new ArrayList<String>(); for (int i=0; i< sList.size(); i++)
{
String year = sList.get(i).split("-")[0];
String month = sList.get(i).split("-")[1];
if(!yearList.contains(year))
{
yearList.add(year);
}
monthList.add(month);
}
System.out.println("年份集合yearList: " + yearList);
System.out.println("月份集合monthList: " + monthList);
} /*返回年份集合,每一年占多少列*/
private static Map<String, Integer> getYearsAndCount(List<String> sList)
{
Map<String, Integer> yearCount = new HashMap<String, Integer>();
for (int i = 0; i < sList.size(); i++)
{
String year = sList.get(i).split("-")[0];
if (yearCount.containsKey(year))
{
Integer count = yearCount.get(year);
yearCount.put(year, count+1);//增加列
}else {
yearCount.put(year, 1);//初始值1
}
}
return yearCount;
}
}
控制台输出:

项目用的是spring4.0,添加到视图:
/**列表
* @param page
* @throws Exception
*/
@RequestMapping(value="/list")
public ModelAndView list(Page page) throws Exception{ ModelAndView mv = this.getModelAndView(); mv.addObject("months", monthList);
mv.addObject("yearsCount", yearsDic);
mv.addObject("yearlist", yearsList); return mv;
}
放到jsp中显示:

Java Map List 的使用的更多相关文章
- java Map实现的cache manager
一个模仿memcached的JAVA虚拟缓存工具,可以缓存java对象 import java.io.ByteArrayInputStream; import java.io.ByteArrayOut ...
- Java map 详解 - 用法、遍历、排序、常用API等
尊重原创: http://www.cnblogs.com/lzq198754/p/5780165.html 概要: java.util 中的集合类包含 Java 中某些最常用的类.最常用的集合类是 L ...
- java map遍历、排序,根据value获取key
Map 四种遍历: Map<String,String> map = new HashMap<String, String>(); map.put("one" ...
- java Map常用方法封装
java Map常用方法封装 CreationTime--2018年7月16日15点59分 Author:Marydon 1.准备工作 import java.util.HashMap; impo ...
- Java Map获取key和value 以及String字符串转List方法
一.问题描述 这里描述两个问题: 1.Java Map获取key和value的方法: 2.String字符串转List的方法: 二.解决方法 1.Java Map获取key和value的方法 2. ...
- java map添加另一个map时候 键值对的类型要一致
java map添加另一个map时候 键值对的类型要一致
- java:Map借口及其子类HashMap五,identityHashMap子类
java:Map借口及其子类HashMap五,identityHashMap子类 了解:identityHashMap子类 一般情况下,标准的Map,是不会有重复的key值得value的,相同的key ...
- java:Map借口及其子类HashMap四
java:Map借口及其子类HashMap四 使用非系统对象作为key,使用匿名对象获取数据 在Map中可以使用匿名对象找到一个key对应的value. person: public class Ha ...
- java:Map借口及其子类HashMap二
java:Map借口及其子类HashMap二 重点:所有的集合必须依赖Iterator输出 Map<String, Integer> map = new HashMap<String ...
- java:Map借口及其子类
java:Map借口及其子类 Conllection是保存单值最大得父接口(即没有key的数据),那么Map是保存的内容是一对键值的数据,即KEY->VALUE的形式保存,如电话簿等. Map常 ...
随机推荐
- linux使用LVM合并硬盘
目的将两块空硬盘合并为"一块",挂载到指定目录下,达到在一个目录使用2块硬盘所有空间的效果.条件硬盘1 /dev/sdb 硬盘2 /dev/sdc方法创建pvpvcreate /d ...
- Linux之nc命令详解
nc是一个强大的网络工具,可以通过yum安装 [root@LB2 ~]# which nc /usr/bin/which: no nc in (/usr/local/sbin:/usr/local/b ...
- Linux下文件误删除恢复案例
说明:将/etc/profile文件删除,然后恢复 在linux中为什么讲文件删除还能恢复呢? 详见:文件删除原理 http://blog.csdn.net/grantlee1988/article/ ...
- webots自学笔记(六)实用控制器函数补充
原创文章,来自"博客园,_阿龙clliu" http://www.cnblogs.com/clliu/,转载请注明原文章出处. 用Webots软件做机器人仿真时,可以编 ...
- oracle事物总结(转)
关于Oracle事务的总结 1.什么是事务,事务的特性是什么? 事务的任务便是使数据库从一种状态变换成为另一种状态,这不同于文件系统,它是数据库所特用的.它的特性有四个:TOM总结为ACID即原子性a ...
- POST和GET的详细解释以及区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP ...
- PHP获得文件创建、修改、访问时间 filectime() filemtime() fileatime()
转载博客 零度_PHP的博客 http://blog.sina.com.cn/s/blog_8edc37a801016hk1.html PHP获得文件创建.修改.访问时间 PHP filectim ...
- POPTEST老李推荐:互联网时代100本必读书,来自100位业界大咖推荐 2
➤NO.30<移动的力量>[推荐人]刘九如:电子工业出版社副社长兼总编辑邬贺铨:中国工程院院士.原副院长汪力成:华立集团董事局主席➤NO.31<智慧社会>[推荐人]段永朝:财讯 ...
- BroadcastReceiver简单应用实例
BroadcastReceiver是android四大组件之一,主要用于接收广播,它的简单实现方法如下: 1.定义继承BroadcastReceiver的MyReceiver类: /** * Crea ...
- 搞定:Enter passphrase for key提示
使用ssh-genkey生成公用key,但是自己使用时会多次提示,Enter passphrase for key,这儿给出如何解决. 在${HOME}/.bashrc中增加如下代码: alias a ...