zoukankan      html  css  js  c++  java
  • 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中显示:

  • 相关阅读:
    python--io多路复用之select实现
    python--基于socket网络编程
    python--面向对象编程之学生选课系统练习
    python--异常处理
    python--面向对象之三个特性:封装、继承、多态
    python--反射机制
    python--生成器和迭代器
    elasticsearch 创建索引
    elasticsearch 集群搭建
    linux 安装Mosquitto
  • 原文地址:https://www.cnblogs.com/lingluo2017/p/6780824.html
Copyright © 2011-2022 走看看