zoukankan      html  css  js  c++  java
  • 小技巧,年月数据列转行

    有时我们要数据列转行

     整理成

    202103-202104
    201909-201909
    202103-202103

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    
    import com.inter.JyHzUtilService;
    
    
    public class test15 {
    
        public static void main(String[] args) {
            Set<String> set=new HashSet<>();
            set.add("202001");
            set.add("202003");
            set.add("202005");
            set.add("202003");
            set.add("202004");
            set.add("202008");
            //set.add("202009");
            List<String[]> listmap=setTocols(set);
            for(String[] aaa:listmap){
             System.out.println(aaa[0]+":"+aaa[1]);
            }
        }
        
        //将[202001, 202003, 202004, 202005, 202008, 202009]
        //整理为202001-202001 202003-202005  202008-202009
        public static List<String[]> setTocols(Set<String> set){
            set= JyHzUtilService.setSort(set,"des");
            List<String[]> listmap=new ArrayList<>();
            String[] str=new String[2];
            String aaaup="";//上一个数
            int i=0;
            for(String aaa:set){
                if(str[0]== null) {
                    str[0]=aaa;//记录开始时间
                    aaaup=aaa;
                }else if((Integer.parseInt(aaa)-Integer.parseInt(aaaup))==1 ||(Integer.parseInt(aaa)-Integer.parseInt(aaaup))==89 ){//连续
                    aaaup=aaa;
                }else{//中断
                    str[1]=aaaup;//记录结束时间
                    listmap.add(str);
                    str=new String[2];//清空数据
                    str[0]=aaa;
                    aaaup=aaa;
                }
                i++;
                //最后一条
                if(set.size()==i) {
                    if(str[0]!= null && str[1] ==null){
                        if(aaa.equals(str[0])) str[1]=str[0];
                        else str[1]=aaa;
                        listmap.add(str);
                        str=new String[2];//清空数据
                        aaaup="";
                    }
                }
                
    
            }
            return listmap;
        }
    
    }
  • 相关阅读:
    WCF message logging and tracing
    How to create a custom composite activity
    两个Datatable合并
    JS生成柱形图表
    InstallShiled12激活过程
    InstallShield Premier版本和Professional版本的功能差异
    InstallShield12注册过程
    Oracle回收站使用
    SQLite数据库管理的相关命令
    Installshield 2010 预安装组件或软件
  • 原文地址:https://www.cnblogs.com/hzcjd/p/14646709.html
Copyright © 2011-2022 走看看