学习总结 2

jdk新日期类

新日期的创建

通过LocalDate,LocalTime,LocalDateTime表示日期时间

LocalDate:表示日期,不包含具体时分秒

LocalTime:表示时间,即时分秒,不包含日期

LocalDateTime:包含日期和时间

LocalDateTime.now();//过得当前系统时间的日期对象
LocalDateTime.of();//获得指定时间的日期对象

LocalDateTime today = LocalDateTime.now();
today.get()//获得具体的日期项

日期格式处理

// LocalDateTime默认的日期格式为 yyyy-MM-ddTHH:mm:ss

DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
LocalDateTime day = LocalDateTime.parse("2005/01/01 01:01:01",format);//创建该格式的日期对象
System.out.println(day.format(format));//输出

日期的计算

LacalDate day = LocalDate.of(2000,01,01);
//加减具体日期项,例如:
LocalDate r = day.plus(1,ChronoUnit.DAYS);
LocalDate r = day.plusDays(1);

//加减日期
Period p = Period.of(0,1,1);
LocalDate r = day.plus(p);


//日期间隔
LocalDate today = LocalDate.now();
//以年月日为间隔单位
LocalDate day = LocalDate.of(2000,01,01);
Period p = Period.between(day,today);

long days = Chronounit.YEARS.between(birthday, today);//计算年数差

//以时分秒为单位
LocalDateTime day2 = LocalDateTime.of(2000,01,01,1,1,1);
Duration between = Duration.between(day2,today);//Duration 类是用于表示两个时间点(Instant 或 LocalDateTime 与时区信息结合后的 ZonedDateTime)之间的时间量的

新老日期转换

//老 -> 新
Date date = new Date();
Instant istant = data.toInstant();
ZonedDateTime zonedpateTime
instant.atZone(ZoneId.systemDefault());
LocalDateTime day = zonedDateTime.toLocalDateTime;

//新 -> 老
LocalDateTime day = LocalDateTime.of(2000,01,01,1,1,1);
ZonedpateTime zonedDateTime
birthday.atzone(ZoneId.systempefault()Instant instant = zonedDateTime.toInstant;
Date date = Date.from(instant);

集合的使用

增强for循环

主要用于简化集合和数组的元素遍历

本质使用Iterator迭代器

List<string> list = new ArrayList<>();
for(string s : list){
     ....
}
//等价于
Iterator<string> it = list.iterator();
for(it.hasNext()){
    String s = it.next();
    ....
}

String[] array = new String[];
For(String s:array){
    ....
}

List集合的使用

List<string> list = new ArrayList<>();
list.add(E e); //在末尾添加一个元素
list.addA11(Collection es);//在末尾添加另一个集合中的一组元素
list.add(int index,E e);//插入一个元素
list.addA1l(int index ,Collection es);//插入一组元素
list.remove(Object o);//删除指定的元素(底层使用equals判断相等)
list.remove(int index);//删除指定位置的元素
list.removeA1](Co1lection es);//删除一组元素
list.size();//返回集合中元素的个数
list.get(int index);//获取指定位置的元素
Iterator it = list.iterator();//获得迭代器对象;
it.hasNext();//判断是否还有下一个元素
it.next();//获得下一个元素
object[] os = list.toArray();//将容器中的元素装入数组并返回
String[] ss = list.toArray(new String[0]);//根据指定的类型,返回指定类型的数组
list.clear();//清空容器中的元素
list.isEmpty()://判断容器是否为空 (size == 0)
1ist.contains(Object o);//判断容器中是否包含指定的元素(equals)
list.indexof(Object o);//找到容器中指定元素的位置(用来判断元素是否判断存在)
list.sort(Comparator c);//根据指定的比较器,比较元素大小,并完成排序

Set集合的使用

Set<string>set=new Treeset<>;
set.add(E e)://添加一个元素,位置不确定
set.addA11(Collection es);//添加另一个集合中的一组元素
set.remove(Object o);//删除指定的元素,通过equals()进行比较
set.removeA11(Co1lectiones);//删除一组元素
set.size();
set.clear()
set.isEmpty();
set.contains(Object o);
Iterator it = set.iterator();//获得迭代器对象
it.hasNext();
it.next();

Map集合的使用

Map的特点是基于存储的key找到与之对应value,不擅长遍历

Map<Integer,string> map = new HashMap<>();
map.put(key,value);//添加一个元素
//添加相同元素时,key去重,value覆盖
map.putA11(Map otherMap);//将另一个map中的元素都添加到当前map集合中
String value = map.get(key);//根据key取出对应的value
map.remove(key);//删除key对应的数据,同时返回删除的value
map.size();//获取元素(键值对)的个数
map.clear();//清空集合
map.isEmpty();//判断集合是否为空
map.containsKey(key);//判断集合是否包含指定的key
map.containsValue(value)://判断集合是否包含指定的value


//map集合的遍历
// map集合不支持直接遍历,但是可以间接遍历
Set<Integer> keys = map.keyset();//返回装有所有key的set集合
Collection<String> values = map.values();//返回装有所有value的co]lection集合,支持迭代器遍历
//entryset获得一个装有所有键值对数据的set集合,Entry是Map中定义的一个内部类
Set<Map.Entry<Integer, string>> entries = map.entryset();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值