JAVA 工具方法

计算比例

 public  static  String get_BL_Str(int onecount,int twocount) {
        String ret="";
        if(onecount>0&&twocount>0)
        {
            if(onecount%2==0 && twocount%2==0)
            {
                onecount=onecount/2;
                twocount=twocount/2;
                return get_BL_Str(onecount,twocount);
            }else if(onecount%3==0 && twocount%3==0)
            {
                onecount=onecount/3;
                twocount=twocount/3;
                return get_BL_Str(onecount,twocount);
            }
            else if(onecount%5==0 && twocount%5==0)
            {
                onecount=onecount/5;
                twocount=twocount/5;
                return get_BL_Str(onecount,twocount);
            }else
            {
                ret=""+onecount+":"+twocount;
            }
        }else if(onecount==twocount)
        {
            ret="1:1";
        }else if(onecount==0||twocount==0)
        {
            ret=""+onecount+":"+twocount;
        }
        return ret;
    }

求率:

 //求率
    public static double getPercent(int a,int b){
        double rate = b==0?0.0:(a+0.0)/b;
        if(rate>1) { rate = 1; }
        if(rate<0) { rate = 0; }
        return rate;
    }

保留两位小数:

    //保留两位小数
    public static String DecimalFormat(double d){
        return df2.format(d);
    }

    //保留两位小数
    public static String formatDouble5(double d) {
        return String.format("%.2f", d);
    }

将集合转Map 指定参数作为Key

    public static Map<String,List<GxyItemData>> getMapData(List<GxyItemData> list){
        //将集合添加至Map 指定参数作为key
        Map<String,List<GxyItemData>> map = new HashMap();
        map = list.stream().collect(Collectors.groupingBy(GxyItemData::getGrade,Collectors.toList()));
        return map;
    }

将集合中指定元素添加到数组当中

public static String[] getArrData(List<GxyItemData> list){
    String[] strings = new String[list.size()];
  for (int i=0;i<strings.length;i++){
      strings[i]=list.get(i).getName();
  }
    return  strings;
}

集合按照某一元素排序

      //集合按照某元素进行排序
        Collections.sort(depTeacherSourceList, new Comparator<GxyAutoReportDto>() {
            @Override
            public int compare(GxyAutoReportDto o1, GxyAutoReportDto o2) {
                return o2.getTeacherScoreRate().compareTo(o1.getTeacherScoreRate());
            }
        });

得到日期类型的对象,切格式为yyyyMMddHHmmss

public class DateFormatDemo{
    public static void main(String[] args){
        String date = new java.text.SimpleDateFormat("yyyyMMddHHmmss").format(new java.util.Date());
        System.out.println("转换后的时间为:" + date);
    }
}

时间类型得到按秒的时间戳

public static long getSecondTimestamp(Date date){
    if (null == date) {
        return 0;
    }
    String timestamp = String.valueOf(date.getTime());
    int length = timestamp.length();
    if (length > 3) {

        long dates = Long.valueOf(timestamp.substring(0,length-3));
        return dates;
    } else {
        return 0;
    }
}

时间类型得到按毫秒的时间戳

long  longs = new Date().getTime();

获取当月去除周末(周六周日)之后的天数

/**
 * 获取当月去除周末(周六周日)之后的天数
 * */
private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
public static int dateDiff(String startDate,String endDate){
    GregorianCalendar gc = new GregorianCalendar();
    List<Integer> size = new ArrayList<>(  );
    List<Date> dates = DateUtil.queryDate( startDate , endDate );
    dates.stream().forEach( d->{
        gc.setTime( d );
        if (gc.get( Calendar.DAY_OF_WEEK ) != Calendar.SATURDAY && gc.get( Calendar.DAY_OF_WEEK ) != Calendar.SUNDAY){
            size.add( 1 );
        }
    } );
    return size.size();
}
public static Date stringToDate(String str){
    Date date = null;
    try {
        date = dateFormat.parse(str);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return date;
}
public static List<Date> queryDate(String startAt, String endAt) {
    List<Date> dates = new ArrayList<>();
    Calendar start = Calendar.getInstance();
    start.setTime(stringToDate(startAt));
    Calendar end = Calendar.getInstance();
    end.setTime(stringToDate(endAt));
    while (start.before(end) || start.equals(end)) {
        dates.add(start.getTime());
        start.add(Calendar.DAY_OF_YEAR, 1);
    }
    return dates;
}



获取当月的第一天和最后一天


/**
 * 获取当月的第一天和最后一天
 * */
public static Map<String,String> staEndDate(){
    Map<String,String> map = new HashMap<>();
    //获取当月第一天和最后一天
    Calendar cale = null;
    cale = Calendar.getInstance();
    // 获取当月第一天和最后一天
    SimpleDateFormat formatTemp = new SimpleDateFormat("yyyy-MM-dd");
    String firstday, lastday;
    // 获取当前月的第一天
    cale = Calendar.getInstance();
    cale.add(Calendar.MONTH, 0);
    cale.set(Calendar.DAY_OF_MONTH, 1);
    firstday = formatTemp.format(cale.getTime());
    // 获取当前月的最后一天
    cale = Calendar.getInstance();
    cale.add(Calendar.MONTH, 1);
    cale.set(Calendar.DAY_OF_MONTH, 0);
    lastday = formatTemp.format(cale.getTime());
    System.out.println("firstday:"+firstday+" lastday:"+lastday);
    map.put("firstday",firstday);
    map.put("lastday",lastday);
    return map;
}

Map中的Value进行比较,把大的元素取出来并拼接字符后放入集合

    public static void main(String[] args) {
            Map<String,Double> map = new HashMap<>();

            map.put("schoolChangeJobRate",Double.valueOf("93.42"));
            map.put("platformChangeJobRate",Double.valueOf("91.42"));

            map.put("schoolBindRate",Double.valueOf("98.86"));
            map.put("platformBindRate",Double.valueOf("95.8"));

            map.put("schoolSignRate",Double.valueOf("66.24"));
            map.put("platformSignRate",Double.valueOf("86.62"));

            map.put("schoolReportRate",Double.valueOf("29.9"));
            map.put("platformReportRate",Double.valueOf("51.49"));

             map.put("schoolReportReadRate",Double.valueOf("46.24"));
             map.put("platformReportReadRate",Double.valueOf("31.62"));

             map.put("schoolReportOntimeReadRate",Double.valueOf("59.82"));
             map.put("platformReportOntimeReadRate",Double.valueOf("59.85"));

            map.put("schoolPostSalary",Double.valueOf("1937"));
            map.put("platformPostSalary",Double.valueOf("1306"));
        conclude(map);
    }



    public static String conclude (Map<String,Double> map){
        String changeJobRate = null;
        String OnObeyRate = null;
        String SignRate = null;
        String ReportRate = null;
        String reportReadRate = null;
        String ReportOntimeReadRate = null;
        String PostSalary = null;
        if (map.get("schoolChangeJobRate")> map.get("platformChangeJobRate")){
             changeJobRate = "稳定率";
        }if (map.get("schoolBindRate")> map.get("platformBindRate")){
             OnObeyRate = "绑定率";
        }if (map.get("schoolSignRate")> map.get("platformSignRate")){
             SignRate = "签到率";
        }if (map.get("schoolReportRate")> map.get("platformReportRate")){
            ReportRate = "周报完成率";
        }if (map.get("schoolReportReadRate")> map.get("platformReportReadRate")){
            reportReadRate = "周报批阅率";
        }if (map.get("schoolReportOntimeReadRate")> map.get("platformReportOntimeReadRate")){
            ReportOntimeReadRate = "周报准时批阅率";
        }if (map.get("schoolPostSalary")> map.get("platformPostSalary")){
            PostSalary = "平均薪水";
        }

        //放入到集合里面
        List<String> list = new ArrayList<>();
        list.add(changeJobRate);
        list.add(OnObeyRate);
        list.add(SignRate);
        list.add(ReportRate);
        list.add(reportReadRate);
        list.add(ReportOntimeReadRate);
        list.add(PostSalary);
        String string = "";
        string = list.get(0);
        for (int i =1;i<= list.size();i++) {
                if (i + 1 <= list.size()) {
                    if (list.get(i)!=null){
                        string = string + "、" + list.get(i);
                    }
            }else {
                    break;
                }
        }
        return string;
    }

集合中某一元素累计

public static void main(String[] args) {
        List<GxyAutoReportDto> list = new ArrayList<>();
        GxyAutoReportDto de1 = new GxyAutoReportDto();
        de1.setDepName("教师教育学院");de1.setAllTotal(526);de1.setTeacherNum(51);de1.setTeacherScoreExcellent(29);
        list.add(de1);

        GxyAutoReportDto de2 = new GxyAutoReportDto();
        de2.setDepName("理工学院");de2.setAllTotal(526);de2.setTeacherNum(51);de2.setTeacherScoreExcellent(17);
        list.add(de2);

        GxyAutoReportDto de3 = new GxyAutoReportDto();
        de3.setDepName("外国语学院");de3.setAllTotal(526);de3.setTeacherNum(51);de3.setTeacherScoreExcellent(18);
        list.add(de3);

        GxyAutoReportDto de4 = new GxyAutoReportDto();
        de4.setDepName("生物与化学学院");de4.setAllTotal(526);de4.setTeacherNum(51);de4.setTeacherScoreExcellent(27);
        list.add(de4);

        GxyAutoReportDto de5 = new GxyAutoReportDto();
        de5.setDepName("人文学院");de5.setAllTotal(526);de5.setTeacherNum(51);de5.setTeacherScoreExcellent(9);
        list.add(de5);

        GxyAutoReportDto de6 = new GxyAutoReportDto();
        de6.setDepName("体育学院");de6.setAllTotal(526);de6.setTeacherNum(51);de6.setTeacherScoreExcellent(9);
        list.add(de6);

        GxyAutoReportDto de7 = new GxyAutoReportDto();
        de7.setDepName("艺术学院");de7.setAllTotal(526);de7.setTeacherNum(51);de7.setTeacherScoreExcellent(24);
        list.add(de7);

        GxyAutoReportDto de8 = new GxyAutoReportDto();
        de8.setDepName("农林学院");de8.setAllTotal(526);de8.setTeacherNum(51);de8.setTeacherScoreExcellent(11);
        list.add(de8);

        GxyAutoReportDto de9 = new GxyAutoReportDto();
        de9.setDepName("政法学院");de9.setAllTotal(526);de9.setTeacherNum(51);de9.setTeacherScoreExcellent(7);
        list.add(de9);

        GxyAutoReportDto de10 = new GxyAutoReportDto();
        de10.setDepName("数学与统计学院");de10.setAllTotal(526);de10.setTeacherNum(51);de10.setTeacherScoreExcellent(8);
        list.add(de10);

        sums(list);

    }


    public static Integer sums(List<GxyAutoReportDto> list){
        Integer teaSum = 0;
        for (int i = 0;i<list.size();i++){
            if (list.get(i).getTeacherScoreExcellent() != 0){
                teaSum = teaSum+Integer.valueOf(list.get(i).getTeacherScoreExcellent());
            }else {continue;}
        }
        return teaSum;
    }

将集合当中不为0的元素放入数组。 实现思路: 放入数组首先需要定义数组的长度,所以先累计出来不为0的元素有多少个,然后再去将不为0的元素放入数组

    public static  String[] listToArr(List<GxyAutoReportDto> list){
        int sizes = 0;
        for (int i =0;i<list.size();i++){
            if (list.get(i).getTeacherScoreExcellent()!=0){
                sizes = i+1;
            }else {continue;}
        }

        String[] strings = new String[sizes];

        for (int i = 0;i<list.size();i++){
            if (list.get(i).getTeacherScoreExcellent()!=0){

                strings[i] = list.get(i).getDepName();
            }else {continue;}
        }
        return strings;
    }

根据集合中的值还拼接名字, 或者根据名字拼接值,(根据值最大,取出名字,如果值一样大,那么名字根据,拼接起来)

    public static String JointName(List<GxyItemData> list){
        String str = "";
        str = list.get(0).getName();
        for (int i=0;i<list.size();i++){
            if (i+1<list.size()) {
                if (Double.valueOf(list.get(i).getValue3())<=Double.valueOf(list.get(i + 1).getValue3())) {
                    str = str+ ","+ list.get(i + 1).getName();
                }else {
                    continue;
                }
            }
        }

        //System.out.println(str);
        return str;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李指导、

您的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值