Java 日期、时间、集合等相关基础内容汇总

一、日期与时间相关
通用原则:清晰,流式,不可变,可扩展。
常以of, from, or with为前缀的方法来构造对象。
相关包:
java.time:包括 date, time, date and time combined, time zones, instants, duration, and clocks,Period类。
基于默认的ISO-8601定义的,都是不可变及线程安全的。
java.time.chrono:可用于自定义自己的日历系统。
java.time.format:可用格式化和解析日期和时间。
java.time.temporal:用于扩展日期和时间。
java.time.zone:用于支持时区,主要有 ZonedDateTime, and ZoneId or ZoneOffset.类。
上述所有类的常用方法前缀:
在这里插入图片描述
格式化线程不安全但常用的类SimpleDateFormat.
常用初始化日期和日期的LocalDate与LocalTime.

二、集合相关
大概接口架构如下:
在这里插入图片描述
Set 通用实现有:
HashSet:hash表存储元素,性能最好,不能保证迭代顺序。
TreeSet: 基于红黑树存储元素,元素基于值来排序。性能比HashSet慢。
LinkedHashSet:实现链接形式的hash表存储,基于插入顺序排序,介于上述两者。
常用块操作。
在这里插入图片描述
List通用实现有:
ArrayList:性能较好。
LinkedList:性能次之。
List的相关操作:
位置访问操作:get, set, add, addAll, and remove.
搜索指定对象:indexOf and lastIndexOf.
Iteration:listIterator.
Range-view:subList.
获取的subList可以执行增、删,原集合会同步更改。
将数组转化为List相关: Arrays.asList:
asList 得到的只是一个 Arrays 的内部类,一个原来数组的视图 List,因此如果对它进行增删操作会报错。

用 ArrayList 的构造器可以将其转变成真正的 ArrayList

Map通用实现:
HashMap、 TreeMap、LinkedHashMap,类似于上述Set的实现。
操作:
Map接口的基础操作:
put, get, remove, containsKey, containsValue, size, and empty
块操作:putAll and clear
集合视图:
keySet, entrySet, and values

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值