首页 > 编程语言 >关于掌握Java 集合框架的那些事——从基础到高级的全面指南

关于掌握Java 集合框架的那些事——从基础到高级的全面指南

时间:2024-11-16 21:43:30浏览次数:3  
标签:指南 Java list System Date println add 集合 out

文章目录

日期类型使用

在开发应用程序时,经常需要处理与时间相关的数据,比如记录用户的注册时间、订单的创建时间、会议的安排
时间等。Java 提供了多种日期和时间的处理方式,以便开发者能够方便地操作这些数据。

1.[Date 类](https://so.csdn.net/so/search?q=Date 类&spm=1001.2101.3001.7020)

Date 类位于 java.util 包中,表示特定的瞬间,精确到毫秒。

无参构造方法: new Date() ,创建一个表示当前时间的 Date 对象。

带参数构造方法: new Date(long date) ,使用给定的毫秒值创建一个 Date 对象。

常用方法
  1. 获取时间戳: getTime(): 返回自1970年1月1日00:00:00 GMT以来的毫秒数。
  2. 获取年月日:getYear() :返回年份,注意返回的是从1900年开始的年份,需要加上1900。
  3. getMonth() :返回月份,注意月份从0开始(0表示1月,11表示12月)。
  4. getDate() :返回月份中的日子(1-31)。
  5. getHours() :返回小时(0-23)。
  6. getMinutes() :返回分钟(0-59)。
  7. getSeconds() :返回秒(0-59)。
// 创建一个表示当前时间的 Date 对象
Date currentDate = new Date();
System.out.println("当前时间: " + currentDate);
// 获取时间戳
long timestamp = currentDate.getTime();
System.out.println("时间戳: " + timestamp);
// 设置时间戳
Date customDate = new Date(1609459200000L); // 2021-01-01 00:00:00
System.out.println("自定义时间: " + customDate);
// 获取年份
int year = currentDate.getYear() + 1900; // 从1900年开始
System.out.println("年: " + year);
// 获取月份
int month = currentDate.getMonth() + 1; // 月份从0开始
System.out.println("月: " + month);
// 获取日期
int day = currentDate.getDate();
System.out.println("日: " + day);
// 获取小时
int hour = currentDate.getHours();
System.out.println("小时: " + hour);
// 获取分钟
int minute = currentDate.getMinutes();
System.out.println("分钟: " + minute);
// 获取秒
int second = currentDate.getSeconds();
System.out.println("秒: " + second);
123456789101112131415161718192021222324252627

2.LocalDate 类

虽然 Date 类可以满足基本的日期处理需求,但它有一些不足之处。Java 8 引入了 java.time 包,提供了更加现代化和易用的日期时间处理类,如 LocalDate 、LocalDateTime 等。

创建 LocalDate 对象:
  1. LocalDate.now() :获取当前日期。
  2. LocalDate.of(int year, int month, int dayOfMonth) :根据指定的年月日创建LocalDate 对象。
常用方法
获取年月日:
  1. getYear() :获取年份。
  2. getMonthValue() :获取月份(1-12)。
  3. getDayOfMonth() :获取月份中的日子(1-31)。
// 获取当前日期
LocalDate currentDate = LocalDate.now();
System.out.println("当前日期: " + currentDate);
// 创建指定日期
LocalDate customDate = LocalDate.of(2023, 10, 1);
System.out.println("自定义日期: " + customDate);
// 获取年份
int year = currentDate.getYear();
System.out.println("年: " + year);
// 获取月份
int month = currentDate.getMonthValue();
System.out.println("月: " + month);
// 获取日期
int day = currentDate.getDayOfMonth();
System.out.println("日: " + day);
123456789101112131415

SimpleDateFormat 日期格式化

在处理日期和时间时,经常需要将日期对象转换为字符串,或将字符串解析为日期对象。

SimpleDateFormat 提供了强大的功能来实现这些需求,使得日期的格式化和解析变得非常简单。

SimpleDateFormat 的构造方法需要一个模式字符串,该字符串定义了日期和时间的格式。常见的模式字符

包括:

  1. y :年份
  2. M :月份
  3. d :日期
  4. H :小时(0-23)
  5. m :分钟
  6. s :秒
常用方法

格式化日期: format(Date date) ,将 Date 对象转换为字符串。

解析日期: parse(String source) ,将字符串解析为 Date 对象。

// 创建 SimpleDateFormat 对象,定义日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
12
格式化日期
// 创建一个表示当前时间的 Date 对象
Date currentDate = new Date();
System.out.println("当前时间: " + currentDate);
// 创建 SimpleDateFormat 对象,定义日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 将 Date 对象格式化为字符串
String formattedDate = sdf.format(currentDate);
System.out.println("格式化后的日期: " + formattedDate);
12345678
解析日期
// 定义日期字符串
String dateString = "2023-10-01 12:30:45";
// 创建 SimpleDateFormat 对象,定义日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
// 将字符串解析为 Date 对象
Date parsedDate = sdf.parse(dateString);
System.out.println("解析后的日期: " + parsedDate);
} catch (ParseException e) {
e.printStackTrace();
}
1234567891011

Java中的集合

集合(Collection)是存储多个元素的对象,它们提供了一种方便的方式来管理和操作一组数据。集合的主要

优点包括:

  1. 灵活性:集合可以动态地增加或减少元素,不需要预先确定大小。
  2. 方便性:集合提供了丰富的操作方法,如添加、删除、查找等。

List 是一个有序的集合,允许重复的元素。常用的是ArrayList

// 定义一个 ArrayList
List<String> list = new ArrayList<>();
12
常用方法
add(E e) :将指定的元素添加到列表的末尾。
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
1234
get(int index) :返回指定位置的元素。
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
// 获取指定位置的元素
String fruit = list.get(1);
System.out.println("获取的元素: " + fruit);
1234567
remove(int index) :删除指定位置的元素
remove(Object o) :删除列表中第一次出现的指定元素
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
// 删除指定位置的元素
list.remove(1); // 删除 "Banana"
System.out.println("删除指定位置后的列表内容: " + list);
// 删除指定元素
list.remove("Cherry");
System.out.println("删除指定元素后的列表内容: " + list);
12345678910
contains(Object o) :检查列表是否包含指定的元素。
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
// 检查元素是否存在
boolean containsBanana = list.contains("Banana");
System.out.println("列表是否包含 Banana: " + containsBanana);
1234567
size() :返回列表中元素的数量。
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
// 获取列表的长度
int size = list.size();
System.out.println("列表的长度: " + size);
1234567
clear() :移除列表中的所有元素。
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
System.out.println("清空前的列表内容: " + list);
// 清空列表
list.clear();
System.out.println("清空后的列表内容: " + list);

标签:指南,Java,list,System,Date,println,add,集合,out
From: https://blog.csdn.net/2403_87236754/article/details/143746047

相关文章

  • 极简 Java 图像处理教程:压缩、封装、编码让传输更轻松!
    1.背景简介及目的这是一个java读取图片流并进行格式转换,图片高质量压缩,ZIP格式转Base64的极简教程。功能需求是在对接农行支付接口时产生的,满足农行二级商户管理接口中上传商户影印件的功能。写这篇博客的目的是分享给大家我在工作中遇到的实际需求,解决问题的思路,以及一些技......
  • Java虚拟机JVM-程序计数器 讲解
    目录Java8的JVM内存结构程序计数器的功能程序技术器的具体细节class文件的字节码视图的内容程序计数器的特性Java8的JVM内存结构程序计数器的功能记录每个线程正在执行的字节码指令的地址,帮助JVM确定下一条需要执行的指令。程序技术器的具体细节class文件的......
  • JDBC学习笔记(四)--JdbcUtil工具类的底层实现、解决 java.sql.SQLException: Operation
    目录(一)为什么要使用JdbcUtil工具类(二)创建一个prorperties文件1.在文件目录或src目录下,选择新建FIle2.创建properties文件 3.编写配置文件Java基础:反射4.获取资源的方式第一种第二种 ​编辑 第三种(一)为什么要使用JdbcUtil工具类问题:在编写jdbc的时候,在每一......
  • RAG原理、应用与开发实战指南
    RAG概述为了更好的解决大模型幻觉的问题,业界提出了基于知识检索与大模型生成相结合的技术:RAG(Retrieval-AugmentedGeneration)即检索增强生成。在当前大模型应用开发中,RAG为解决通用大模型知识有限和知识更新不及时等问题提供了有效方案,也得到了广泛的应用。RAG的工作原......
  • springboot3整合mybatisplus问题Invalid value type for attribute 'factoryBeanObjec
    版本说明:JDK版本:17springboot版本:3.3.5问题分析:springboot版本与mybatisplus版本不兼容解决办法:将mybatisplus版本替换为以下版本<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>......
  • 全面指南 | 知识库管理系统在零售行业中的作用是什么?
    中国的零售行业在2023年展现出了稳健的增长态势。根据国家统计局的数据,2023年国内社会消费品零售总额为47.15万亿元,同比增长7.2%。有一点是明确的——零售行业只会继续蓬勃发展。在这个不断壮大的巨大行业中,要想在竞争激烈的市场中脱颖而出绝非易事。问题是,如何才能成为顾......
  • 基于Java+SSM+JSP+MYSQL实现的宠物领养收养管理系统功能设计与实现四
    一、前言介绍:免费学习:猿来入此1.1项目摘要随着人们生活水平的提高,宠物已经成为越来越多家庭的重要成员。然而,宠物的数量增长也带来了一系列问题,如流浪宠物数量的增加、宠物健康管理的缺失以及宠物领养收养信息的不透明等。这些问题不仅影响了宠物的生存状况,也给社会带来了一定......
  • 基于java+vue的广告管理系统设计与实现
    目录:目录:博主介绍: 完整视频演示:你应该选择我技术栈介绍:需求分析:系统各功能实现一览:1.注册2.登录部分代码参考: 项目功能分析: 项目论文:源码获取:博主介绍: ......
  • 基于Java+SSM+JSP+MYSQL实现的宠物领养收养管理系统功能设计与实现三
    一、前言介绍:免费学习:猿来入此1.1项目摘要随着人们生活水平的提高,宠物已经成为越来越多家庭的重要成员。然而,宠物的数量增长也带来了一系列问题,如流浪宠物数量的增加、宠物健康管理的缺失以及宠物领养收养信息的不透明等。这些问题不仅影响了宠物的生存状况,也给社会带来了一定......
  • 【全栈开发(TypeOrm-Javascript)学习笔记三】
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、EntityManager二、Repository三、Find选项四、自定义Repository五、EntityManagerAPI六、RepositoryAPI总结前言本章节主要了解typeOrm框架EntityManager和Repository,学习常见的s......