【进阶篇-Day7:JAVA中Date、LocalDate等时间API的介绍】

目录

  • 1、概述
  • 2、JDK8(-) 时间类
    • 2.1 Date类:
      • (1)构造方法:
      • (2)常用成员方法:
    • 2.2 SimpleDateFormat类:
    • 2.3 总结:
    • 2.4 Calendar类介绍:
  • 3、JDK8(+) 时间类
    • 3.1 日历类
    • 3.2 日期格式化类
    • 3.3 时间类
      • (1):
      • (2):
      • (3):
    • 3.4 工具类
  • 4、练习

1、概述

在这里插入图片描述

2、JDK8(-) 时间类

2.1 Date类:

(1)构造方法:

在这里插入图片描述

package com.itheima;import java.util.Date;public class DateDemo1 {public static void main(String[] args) {//1、将当前时间,封装为Date日期对象Date date1 = new Date();System.out.println(date1);//Sat Jun 29 16:16:54 CST 2024//2、将时间毫秒值转换为Date日期对象Date date2 = new Date(1000L);//传入1000毫秒//从时间原点1970年0时0分0秒算起:因为中国是东八区,所以是8时System.out.println(date2);//Thu Jan 01 08:00:01 CST 1970}
}

(2)常用成员方法:

在这里插入图片描述

package com.itheima;import java.util.Date;public class DateDemo1 {public static void main(String[] args) {//1、将当前时间,封装为Date日期对象Date date1 = new Date();System.out.println(date1);//Sat Jun 29 16:16:54 CST 2024//2、将时间毫秒值转换为Date日期对象Date date2 = new Date(1000L);//从时间原点1970年0时0分0秒算起:因为中国是东八区,所以是8时System.out.println(date2);//Thu Jan 01 08:00:01 CST 1970//3、常用方法//3.1 getTime():返回从1970年1月1日 00:00:00走到此刻的总的毫秒数System.out.println(date1.getTime());//1719649443396System.out.println(date2.getTime());//1000//3.2 setTime():设置日期对象的时间为 当前时间毫秒值对应的时间Date date3 = new Date();//空参构造为当前时间date3.setTime(0L);//设置当前对象时间的毫秒值为0,会打印00毫秒的时间值System.out.println(date3);//Thu Jan 01 08:00:00 CST 1970}
}

2.2 SimpleDateFormat类:

在这里插入图片描述

  • format()方法演示:将日期对象——》转换为字符串
package com.itheima;import java.text.SimpleDateFormat;
import java.util.Date;public class DateDemo2 {public static void main(String[] args) {//1、构造方法://1.1 SimpleDateFormat():空参构造// 创建一个日期格式化对象,使用默认的空参构造方法SimpleDateFormat simpleDateFormat = new SimpleDateFormat();//创建Date对象,封装此刻的时间Date date = new Date();//将日期对象转换为字符串,调用format方法:String result = simpleDateFormat.format(date);System.out.println(result);//24-6-29 下午4:40//1.2 SimpleDateFormat():带参构造// 创建一个日期格式化对象,使用指定格式的构造方法SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E a");//创建Date对象,封装此刻的时间Date date2 = new Date();//将日期对象转换为字符串,调用format方法:String result2 = simpleDateFormat2.format(date2);System.out.println(result2);//2024年06月29日 16:48:39 星期六 下午}
}

注:SimpleDateFormat()方法在指定格式时,可以按下面的描述设置。
在这里插入图片描述

  • parse()方法演示:将字符串日期——》转换为Date对象
package com.itheima;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class DateDemo3 {public static void main(String[] args) throws ParseException {//将字符串日期——》转换为Date对象//创建带有格式的SimpleDateFormat()对象SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//创建字符串日期(和前面SimpleDateFormat对象指定格式要一样)String date = "2024-06-29";//将字符串日期转换为Date对象Date parse = simpleDateFormat.parse(date);System.out.println(parse);}
}
  • 练习:

需求:计算你来到这个世界多少天

package com.itheima;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;public class DateDemo4 {public static void main(String[] args) throws ParseException {/*** 需求:计算你来到这个世界多少天了*///1、输入生日Scanner sc = new Scanner(System.in);System.out.println("请输入你的生日(格式:yyyy-MM-dd):");String s = sc.next();//2、将生日转换为Date对象SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");Date birthday = simpleDateFormat.parse(s);//3、获取此刻日期与生日的差值,并转换为天数Date date = new Date();long day = (date.getTime() - birthday.getTime())/(1000*64*64*24);System.out.println("来到这个世界" + day + "天");}
}

2.3 总结:

在这里插入图片描述

在这里插入图片描述

2.4 Calendar类介绍:

在这里插入图片描述

注:Date类虽然也能获取年月日等,但是不推荐使用,Java推荐使用Calendar类,下面我们看看。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 代码演示:
package com.itheima;import java.util.Calendar;public class DateDemo5 {public static void main(String[] args) {//1、创建对象://Calendar c:抽象类//Calendar.getInstance():获取子类对象//获取对当前日历对象Calendar c = Calendar.getInstance();//2、常用方法://2.1调用get方法:获取指定字段的信息int year = c.get(Calendar.YEAR);System.out.println(year);//获取年份 2024//注:Calendar类的月份是0-11,想要获取常规的月份,需要对结果 +1操作int month = c.get(Calendar.MONTH);System.out.println(month);//获取月份 5int day = c.get(Calendar.DAY_OF_MONTH);System.out.println(day);//获取一个月中的第几天 29//星期:日 一 二 三 四 五 六//     1  2  3  4  5  6  7int week = c.get(Calendar.DAY_OF_WEEK);System.out.println(week);//7//2.2 调用set方法:修改日历中的某个字段Calendar calendar = Calendar.getInstance();calendar.set(Calendar.YEAR, 2025);//修改年System.out.println(calendar.get(Calendar.YEAR));//2025calendar.set(2025,10,12);//修改年月日System.out.println(calendar.get(Calendar.MONTH));//10//2.3 调用add:为某个字段增加/减少指定的值Calendar calendar1 = Calendar.getInstance();calendar1.add(Calendar.YEAR,1);//对年加1System.out.println(calendar1.get(Calendar.YEAR));//2025}
}

在这里插入图片描述

package com.itheima;import java.util.Calendar;
import java.util.Set;public class DateDemo6 {public static void main(String[] args) {//获取Calendar子类的对象Calendar calendar = Calendar.getInstance();//设置时间为2050年3月1日calendar.set(2050, 2, 1);//获取2050年3月1日的星期int week = calendar.get(Calendar.DAY_OF_WEEK);String weekArr[] = {"", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};System.out.println(week);if ("星期四".equals(weekArr[week])){System.out.println("今天是疯狂星期四,我要奢侈一把~~~");}}
}

在这里插入图片描述

package com.itheima;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;public class Test {public static void main(String[] args) throws ParseException {//1、输入字符串日期Scanner sc = new Scanner(System.in);System.out.println("请输入日期(yyyy-MM-dd)");String dateString = sc.next();//2、使用SimpleDateFormat,将字符串的日期,转换为Date日期SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");Date date = simpleDateFormat.parse(dateString);//3、将日期对象,转换为Calendar对象Calendar calendar = Calendar.getInstance();calendar.setTime(date);//4、调用get方法,获取一年中的第几天int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);System.out.println(dayOfYear);}
}
  • 总结:
    在这里插入图片描述

3、JDK8(+) 时间类

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.1 日历类

在这里插入图片描述

在这里插入图片描述

  • 代码演示:
package com.itheima.jdk8;import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;public class LocalDateDemo1 {public static void main(String[] args) {//1、获取此刻的时间对象//1.1 LocalDate.now():获取 年、月、日LocalDate localDate = LocalDate.now();System.out.println(localDate);//2024-06-30//1.2 LocalTime.now():获取 时、分、秒、毫秒LocalTime localTime = LocalTime.now();System.out.println(localTime);//11:03:19.244//1.3 LocalDateTime.now():获取 年、月、日、时、分、秒、毫秒LocalDateTime localDateTime = LocalDateTime.now();System.out.println(localDateTime);//2024-06-30T10:58:07.804//---------------------------------------------------------------------------//2、获取指定的时间对象//2.1 LocalDate.of():获取指定的 年、月、日LocalDate localDateOf = LocalDate.of(2022, 2, 3);System.out.println(localDateOf);//2022-02-03//2.2 LocalTime.of():获取指定的 时、分、秒、毫秒LocalTime localTimeOf = LocalTime.of(8, 8, 8, 8);System.out.println(localTimeOf);//08:08:08.000000008//2.3 LocalDateTime.of():获取指定的 年、月、日、时、分、秒、毫秒LocalDateTime localDateTimeOf = LocalDateTime.of(2008, 8, 8, 8, 8, 8);System.out.println(localDateTimeOf);//2008-08-08T08:08:08//---------------------------------------------------------------------------//3、LocalDate、LocalTime、LocalDateTime 之间的转换LocalDateTime now = LocalDateTime.now();//LocalDateTime转换为 LocalDateSystem.out.println(now.toLocalDate());//LocalDateTime转换为 LocalTimeSystem.out.println(now.toLocalTime());//---------------------------------------------------------------------------//4、获取年、月、日、时、分、秒、微秒、纳秒等LocalDateTime localDateTime1 = LocalDateTime.now();System.out.println(localDateTime1.getYear());//获取 年System.out.println(localDateTime1.getMonthValue());//获取 月System.out.println(localDateTime1.getDayOfMonth());//获取 一个月中的第几天System.out.println(localDateTime1.getHour());//获取 时System.out.println(localDateTime1.getMinute());//获取 分System.out.println(localDateTime1.getSecond());//获取 秒System.out.println(localDateTime1.getNano());//获取 纳秒System.out.println(localDateTime1.getDayOfWeek().getValue());//获取 星期}
}

在这里插入图片描述

  • 代码演示:
package com.itheima.jdk8;import java.time.LocalDate;
import java.time.LocalDateTime;/*** Title: LocalDateDemo2* Describe: 类的功能* Name: masizhou* Date: 2024/7/3* Copyright: @2022 by masizhou*/public class LocalDateDemo2 {public static void main(String[] args) {LocalDateTime nowTime = LocalDateTime.now();//1、 minus:减法    ------》注意:都会返回一个新的对象System.out.println("减一年:" + nowTime.minusYears(1));//减一年 minusYears(年)System.out.println("减一月:" + nowTime.minusMonths(1));//减一月 minusMonths(月)System.out.println("减一天:" + nowTime.minusDays(1));//减一天 minusDays(天)System.out.println("减一小时:" + nowTime.minusHours(1));//减一小时 minusHours(时)System.out.println("减一分钟:" + nowTime.minusMinutes(1));//减一分钟 minusMinutes(分)System.out.println("减一秒:" + nowTime.minusSeconds(1));//减一秒 minusSeconds(秒)System.out.println("减一纳秒:" + nowTime.minusNanos(1));//减一纳秒 minusNanos(纳秒)System.out.println("-------------------------------------------------------------");//2、 plus:加法     ------》注意:都会返回一个新的对象System.out.println("加二年:" + nowTime.plusYears(2));//加二年 plusYears(年)System.out.println("加二月:" + nowTime.plusMonths(2));//加二月 plusMonths(月)System.out.println("加二天:" + nowTime.plusDays(2));//加二天 plusDays(天)System.out.println("加二时:" + nowTime.plusHours(2));//加二时 plusHours(时)System.out.println("加二分:" + nowTime.plusMinutes(2));//加二分 plusMinutes(分)System.out.println("加二秒:" + nowTime.plusSeconds(2));//加二秒 plusSeconds(秒)System.out.println("加二纳秒:" + nowTime.plusNanos(2));//加二纳秒 plusNanos(纳秒)System.out.println("-------------------------------------------------------------");//3、with:设置某一个指定的时间(如年、或月等)   ------》注意:都会返回一个新的对象System.out.println(nowTime.withYear(2008));//设置年份为2008年System.out.println(nowTime.withMonth(2));//设置月份为2月System.out.println(nowTime.withDayOfMonth(5));//设置一个月中的第几天System.out.println(nowTime.withHour(10));//设置小时为10System.out.println(nowTime.withMinute(45));//设置分钟为45System.out.println(nowTime.withSecond(35));//设置为35秒System.out.println(nowTime.withNano(200));//设置为200纳秒System.out.println("-------------------------------------------------------------");//4、isBefore:是否在xx时间之前//   isAfter:是否在xx时间之后//   equals:判断两个时间是否相等LocalDateTime myTime = LocalDateTime.of(2008, 8, 8, 8, 8, 8, 8);LocalDateTime now = LocalDateTime.now();System.out.println(now + "是否在" + myTime + "之前?" + now.isBefore(myTime));//falseSystem.out.println(now + "是否在"+ myTime + "之前?" + now.isAfter(myTime));//trueSystem.out.println(now + "是否与"+ myTime + "相等?" + now.equals(myTime));//false}
}

在这里插入图片描述
在这里插入图片描述

3.2 日期格式化类

在这里插入图片描述

  • 代码演示:
package com.itheima.jdk8;import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;public class LocalDateDemo3 {public static void main(String[] args) {LocalDateTime now = LocalDateTime.now();System.out.println("格式化之前:" + now);//格式化之前:2024-07-04T21:15:18.426//1、获取格式化对象DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日");//2、格式化String result = formatter.format(now);System.out.println("格式化之前:" + result);//格式化之前:2024年07月04日//3、解析String time = "2008年08月08日";LocalDate parse = LocalDate.parse(time, formatter);System.out.println(parse);//2008-08-08}
}

3.3 时间类

(1):

在这里插入图片描述

注:Instant其实就类似于Date。

package com.itheima.jdk8;import java.time.Instant;
import java.time.ZoneId;
import java.util.Set;public class InstantDemo1 {public static void main(String[] args) {/*** Instant 类似与 Date*/Instant instant = Instant.now();System.out.println("当前的时间戳是:" + instant);//当前的时间戳是:2024-07-05T12:26:15.449Z//发现不是中国当下的时间,原因是中国是东八区,如何正确获取呢?System.out.println("转换后的时间戳是:" + Instant.now().atZone(ZoneId.of("Asia/Shanghai")));//转换后的时间戳是:2024-07-05T20:29:17.623+08:00[Asia/Shanghai]}
}

(2):

在这里插入图片描述

package com.itheima.jdk8;import java.time.Instant;
import java.time.ZoneId;
import java.util.Set;public class InstantDemo1 {public static void main(String[] args) {//获取Java所支持的所有时区Set<String> set = ZoneId.getAvailableZoneIds();System.out.println(set);//[Asia/Aden, America/Cuiaba, Etc/GMT+9,...]System.out.println(set.size());//601System.out.println("--------------------------------------------");//获取系统默认时区ZoneId zoneId = ZoneId.systemDefault();System.out.println(zoneId);//Asia/ShanghaiSystem.out.println("--------------------------------------------");//获取一个指定时区ZoneId of = ZoneId.of("America/Cuiaba");System.out.println(of);//America/Cuiaba}
}

(3):

在这里插入图片描述

package com.itheima.jdk8.instant;import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;public class InstantDemo2 {public static void main(String[] args) {//1、获取当前时间的Instant对象(标准时间)Instant now = Instant.now();System.out.println("当前时间为(世界标准时间):" + now);//当前时间为(世界标准时间):2024-07-05T12:46:04.401ZSystem.out.println("-----------------------------------");//2、根据秒、毫秒、纳秒 获取Instant对象:从1970年1月1日开始算Instant instant1 = Instant.ofEpochSecond(5);Instant instant2 = Instant.ofEpochMilli(1000);System.out.println(instant1);//1970-01-01T00:00:05ZSystem.out.println(instant2);//1970-01-01T00:00:01ZSystem.out.println("-----------------------------------");//3、指定时区ZonedDateTime zonedDateTime = Instant.now().atZone(ZoneId.systemDefault());System.out.println("带时区的时间:" + zonedDateTime);//带时区的时间:2024-07-05T20:58:07.337+08:00[Asia/Shanghai]System.out.println("-----------------------------------");//4、判断系列方法System.out.println(now.isBefore(instant1));//now时间 在 instant1时间之前吗?System.out.println(now.isAfter(instant1));//now时间 在 instant1时间之后吗?System.out.println("-----------------------------------");//5、减少时间系列方法System.out.println("减1000毫秒:" + now.minusMillis(1000));System.out.println("减5秒:" + now.minusSeconds(5));System.out.println("-----------------------------------");//6、增加时间系列方法System.out.println("增加1000毫秒:" + now.plusMillis(1000));System.out.println("增加5秒:" + now.plusSeconds(5));System.out.println("-----------------------------------");}
}

在这里插入图片描述

3.4 工具类

在这里插入图片描述

package com.itheima.jdk8.util;import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Period;
import java.time.temporal.ChronoUnit;public class UtilDemo {public static void main(String[] args) {/**(1)Period: 计算日期间隔(年月日)*///此刻年月日LocalDate today = LocalDate.now();System.out.println(today);//2024-07-05//昨天年月日LocalDate otherDate = LocalDate.of(2024, 7, 4);//2024-07-04System.out.println(otherDate);//2024-07-04//Period对象表示时间的间隔对象Period period = Period.between(today, otherDate);//第二个参数 减 第一个参数System.out.println("间隔多少年:" + period.getYears());//间隔多少年:0System.out.println("间隔多少月:" + period.getMonths());//间隔多少月:-2System.out.println("间隔多少天:" + period.getDays());//间隔多少天:-1System.out.println("间隔的总月份:" + period.toTotalMonths());//总月份:-2/**(2)Duration: 计算日期间隔(时分秒)*///此刻日期时间对象LocalDateTime time = LocalDateTime.now();//2024-07-05//昨天的日期时间对象LocalDateTime otherTime = LocalDateTime.of(2024, 7, 4, 12, 12, 12);// Duration获取日期间隔,第二个参数减第一个参数Duration between = Duration.between(otherTime, time);System.out.println("两个时间差的天数=" + between.toDays());System.out.println("两个时间差的小时=" + between.toHours());System.out.println("两个时间差的分钟=" + between.toMinutes());System.out.println("两个时间差的毫秒=" + between.toMillis());System.out.println("两个时间差的纳秒=" + between.toNanos());/**(3)ChronoUnit: 可用于在单个时间单位内测量一段时间,这个工具类上述最全面的,可以用于比较所有的时间单位*///指定时间1LocalDateTime Time1 = LocalDateTime.of(2024, 7, 10, 10, 10, 10);//2024-7-10 10:10:10//指定时间2LocalDateTime Time2 = LocalDateTime.of(2024, 7, 8, 10, 10, 10);//2024-7-8 10:10:10//计算这两个时间的时间差,第二个参数减第一个参数System.out.println("相差的年数=" + ChronoUnit.YEARS.between(Time2, Time1));//相差的年数=0System.out.println("相差的月数=" + ChronoUnit.MONTHS.between(Time2, Time1));//相差的月数=0System.out.println("相差的周数=" + ChronoUnit.WEEKS.between(Time2, Time1));//相差的周数=0System.out.println("相差的天数=" + ChronoUnit.DAYS.between(Time2, Time1));//相差的天数=2System.out.println("相差的时数=" + ChronoUnit.HOURS.between(Time2, Time1));//相差的时数=48System.out.println("相差的分钟数=" + ChronoUnit.MINUTES.between(Time2, Time1));//相差的分钟数=2880System.out.println("相差的秒数=" + ChronoUnit.SECONDS.between(Time2, Time1));//相差的秒数=172800System.out.println("相差的毫秒数=" + ChronoUnit.MILLIS.between(Time2, Time1));//相差的毫秒数=172800000System.out.println("相差的微妙数=" + ChronoUnit.MICROS.between(Time2, Time1));//相差的微妙数=172800000000System.out.println("相差的纳秒数=" + ChronoUnit.NANOS.between(Time2, Time1));//相差的纳秒数=172800000000000System.out.println("相差的半天数=" + ChronoUnit.HALF_DAYS.between(Time2, Time1));//相差的半天数=4System.out.println("相差的世纪(百年)数=" + ChronoUnit.CENTURIES.between(Time2, Time1));//相差的世纪(百年)数=0System.out.println("相差的千年数=" + ChronoUnit.MILLENNIA.between(Time2, Time1));//相差的千年数=0System.out.println("相差的纪元数=" + ChronoUnit.ERAS.between(Time2, Time1));//相差的纪元数=0}
}

4、练习

package com.itheima.jdk8;import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.Scanner;public class Test {public static void main(String[] args) {/*** 需求:键盘录入用户生日,计算出用户的实际年龄*/Scanner sc =  new Scanner(System.in);System.out.println("请输入您的生日:");String stringBirthday = sc.nextLine();//1、将字符串转换为日期对象LocalDate birthday = LocalDate.parse(stringBirthday, DateTimeFormatter.ofPattern("yyyy年M月d"));//2、获取今天的日期对象LocalDate nowDate = LocalDate.now();//3、比较两个日期,获取间隔年份System.out.println("实际年龄是:" + ChronoUnit.YEARS.between(birthday, nowDate));}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/869846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fortran简单排序算法,对一维、二维矩阵进行正序或倒序排序

fortran简单排序算法&#xff0c;对一维、二维矩阵进行正序或倒序排序 0. 引言1. 算法实现1.1 一维数组排序1.2 二维数组排序1.2 module文件 2. 结语 0. 引言 排序算法是计算机科学中的一项重要技术&#xff0c;它将一组数据按照特定的顺序排列起来。排序算法有很多种&#xff…

设计模式探索:责任链模式

1. 什么是责任链模式 责任链模式 (Chain of Responsibility Pattern) 是一种行为型设计模式。定义如下&#xff1a; 避免将一个请求的发送者与接收者耦合在一起&#xff0c;让多个对象都有机会处理请求。将接收请求的对象连接成一条链&#xff0c;并且沿着这条链传递请求&…

【C++深度学习】多态(概念虚函数抽象类)

✨ 疏影横斜水清浅&#xff0c;暗香浮动月黄昏 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;C学习 &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞 &…

appium环境准备

前言: 本系列教程会从软件的基本安装开始,最终目的是通过完成几个案例后, 大家实现自由抓取App中想要的资源。 本系列以后会更的: Appium基本使用及控制真机及安卓模拟器Mitmproxy抓包工具的基本使用Fiddler抓包软件的基本使用 了解了以上的基本操作,我们就可进行手机资源…

Splunk Enterprise路径遍历漏洞风险通告

今日&#xff0c;亚信安全CERT监控到安全社区研究人员发布安全通告&#xff0c;披露了Splunk Enterprise 路径遍历漏洞(CVE-2024-36991)。该漏洞发生在9.2.0<version<9.2.2&#xff0c;9.1.0<version<9.1.5&#xff0c;以及9.0.0<version<9.0.10的windows版本…

3102.力扣每日一题7/9 Java(TreeMap)

博客主页&#xff1a;音符犹如代码系列专栏&#xff1a;算法练习关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 目录 TreeMap详解 解题思路 解题方法 时间复杂度 空间复杂度 Code T…

【Python】 已解决:ModuleNotFoundError: No module named…

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;ModuleNotFoundError: No module named… 一、分析问题背景 在使用Python进行开发时&#xff0c;有时会遇到“ModuleNotFoundError: No module named…”这样的…

创新设计策略:提升大屏幕可视化设计效果的关键方法

随着科技的不断发展和数据量的快速增长&#xff0c;数据可视化大屏在各个行业中的应用越来越广泛&#xff0c;可以帮助人们更好地理解和分析数据&#xff0c;可视化大屏设计也因此成了众多企业的需求。但很多设计师对可视化大屏设计并不了解&#xff0c;也不知道如何制作可视化…

谁说forEach不支持异步代码,只是你拿不到异步结果而已

在前面探讨 forEach 中异步请求后端接口时&#xff0c;很多人都知道 forEach 中 async/await 实际是无效的&#xff0c;很多文章也说&#xff1a;forEach 不支持异步&#xff0c;forEach 只能同步运行代码&#xff0c;forEach 会忽略 await 直接进行下一次循环… 当时我的理解…

[GICv3] 1.引言Introduction

基本概念 通用中断控制器 (GIC) 从外设获取中断&#xff0c;确定它们的优先级&#xff0c;然后将它们传送到适当的处理器内核。 下图了为一个 GIC 从 n 个不同的外设获取中断&#xff0c;并将它们分配给两个不同的处理器。 ​​ GCI(Generic Interrupt Controller)&#xff0c…

AI Agent 的发展现状、行业结构与趋势分析

Agent 来自一种哲学概念&#xff0c;是个很古老的哲学术语&#xff0c;从哲学意义上讲&#xff0c;“代理”的概念涉及实体的自主性&#xff0c;具有行使意志、做出选择和采取行动的能力&#xff0c;而不是被动地对外部刺激做出反应。后来人们将这一概念引入计算机科学领域&…

ApiFox或postman怎么用params类型传输json或集合+json的String类型

你是否碰见过这样的接口? post请求然后传输的参数都要和查询时一样以param形式传参数,那String什么的都好说,传就直接进后台了,那json呢,集合呢,是不是直接给你返400呢. 1.传json如何处理 那我们看看怎么实现,如果你要传json数据,那需要将特殊字符转义,也叫url转码,否则传不…

【HarmonyOS】关于官方推荐的组件级路由Navigation的心得体会

前言 最近因为之前的630版本有点忙&#xff0c;导致断更了几天&#xff0c;现在再补上。换换脑子。 目前内测系统的华为应用市场&#xff0c;各种顶级APP陆续都放出来beta版本了&#xff0c;大体上都完成了主流程的开发。欣欣向荣的气息。 学习思路 关于学习HarmonyOS的问题…

热点解读 | 小红书「县城生活」趋势前瞻

“县城婆罗门”、“月薪两万不如县城贵妇”、“北漂打工人回县城被穷笑”……继中产之后&#xff0c;县城成为又一个全网热议的焦点。 县城叙事重返舆论场&#xff0c;本期千瓜将进一步解构「县城」语境下的个体表现&#xff0c;帮助品牌沉淀用户心智&#xff0c;塑造新时代竞争…

​​​防御第一次作业

1、拓扑图及实验要求&#xff1a; 2、配置&#xff1a; 配置终端及服务器IP地址&#xff1a; Pc2&#xff1a; Client1&#xff1a; Pc4&#xff1a; Client2&#xff1a; PC1&#xff1a; Server1&#xff1a; Server2&#xff1a; 防火墙基础配置&#xff1a; [fw1]int g …

maven 依赖冲突

依赖冲突 1、对于 Maven 而言&#xff0c;同一个 groupId 同一个 artifactId 下&#xff0c;只能使用一个 version。 <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math3 --><dependency><groupId>org.apache.commons</groupId&…

手搓前端day1

断断续续的学了些前端&#xff0c;今天开始写写代码&#xff0c;就当是记录一下自己前端的成长过程 效果&#xff1a; 写了点css&#xff0c;实现了简单的前端页面的跳转 文件目录 代码如下&#xff1a; styles.css body{margin: 0;padding: 0;}header{background-color: bl…

系统服务综合作业

首先配置自动挂载 服务器的/rhce 自动挂载在客服端的/nfs/rhce 首先在服务器进行配置 dnf install nfs-utils -y [rootlocalhost ~]# vim /etc/exports [rootlocalhost ~]# firewall-cmd --permanent --add-servicenfs success [rootlocalhost ~]# firewall-cmd --permanen…

常见的嵌入式软件体系结构

本文介绍常见的嵌入式软件体系结构。 在嵌入式开发过程中&#xff0c;尤其是MCU为主控的项目开发中&#xff0c;实时性是需要考虑的重要因素&#xff0c;本文介绍常见的2种嵌入式软件体系结构&#xff0c;并对其优缺点作简要分析&#xff0c;另外&#xff0c;还对它们的软件层…

食物链之带权并查集解法

直接看题&#xff1a;https://www.acwing.com/problem/content/description/242/ 下面就是代码的实现了&#xff0c;因为自己与自己肯定是同类我们初始化为0. 下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int n,k; int fk,x,y; int fa[10001…