java 实例参考 汇总 (持续更新...)

  • 对list进行排序处理

1.简单的list:仅有一列值

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class sort {
  public static void main(String[] args) {
  List<Integer> list = new ArrayList<Integer>();
  list.add(new Integer(5));
  list.add(new Integer(13));
  list.add(new Integer(4));
  list.add(new Integer(9));
  Collections.sort(list);
  System.out.println(list.toString());
  }
}

2.List<Map> 排序:有多列值,对其中一列值进行排序

Collections.sort(list, new Comparator<Map<String, String>>() {
		public int compare(Map<String, String> o1, Map<String, String> o2) {
			Integer name1 = Integer.valueOf(o1.get("字段名").toString()) ;//name1是从你list里面拿出来的一个
			Integer name2 = Integer.valueOf(o2.get("字段名").toString()) ; //name1是从你list里面拿出来的第二个name
			return name1.compareTo(name2);
		}
	});

 

  • list数据去重 去除重复项

List<String> list = new ArrayList();//有重复项
List<String> listTemp = new ArrayList();//无重复项

//去除后置许可项目id重复项
for( int i = 0 ;i < list.size(); i++ ){
    if( !listTemp.contains( list.get(i) ) ){
      listTemp.add(list.get(i));
     }
  }

 

  • 获取某段时间内所有的周一的日期

   /**
     * 获取某段时间内的所有周一的日期
     * @param dataBegin 开始日期
     * @param dataEnd 结束日期
     * @param weekDays 获取周几,1-6代表周一到周六。0代表周日
     * @return 返回日期List
     */
    public static List<String> getDayOfWeekWithinDateInterval(String dataBegin, String dataEnd, int weekDays) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        List<String> dateResult = new ArrayList<>();
        Calendar cal = Calendar.getInstance();
        String[] dateInterval = {dataBegin, dataEnd};
        Date[] dates = new Date[dateInterval.length];
        for (int i = 0; i < dateInterval.length; i++) {
            String[] ymd = dateInterval[i].split("[^\\d]+");
            cal.set(Integer.parseInt(ymd[0]), Integer.parseInt(ymd[1]) - 1, Integer.parseInt(ymd[2]));
            dates[i] = cal.getTime();
        }
        for (Date date = dates[0]; date.compareTo(dates[1]) <= 0; ) {
            cal.setTime(date);
            if (cal.get(Calendar.DAY_OF_WEEK) - 1 == weekDays) {
                String format = sdf.format(date);
                dateResult.add(format);
            }
            cal.add(Calendar.DATE, 1);
            date = cal.getTime();
        }
        return dateResult;
    }

调用:List<String> datalist = getDayOfWeekWithinDateInterval("2020-01-01","2020-01-31",1);

参考来自 <https://www.cnblogs.com/black-spike/p/9962073.html>

 

  • 格式化时间(SimpleDateFormat)

String类型的日期转换为yyyy-MM-dd格式

/**
*String类型的日期转换为yyyy-MM-dd格式
*eg"Wed Jan 22 00:00:00 CST 2020"转换为"2020-01-22"
*@param dataBegin日期
*@return转换后日期timeFormat
*/
public static String TimeFormatTest(String dataBegin){
	 Date time=new Date(dataBegin);
	SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
	String timeFormat=sdf.format(time);
	return timeFormat;
}

调用:TimeFormatTest("Wed Jan 22 00:00:00 CST 2020")

 

...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

loa_loa

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值