Java 基础3

  • Object 类
    • 直接打印对象的名字就是调用对象的toString()方法,toString默认打印的是地址值
    • equals 里面源码 this == obj;自己重写,getClass() != o.getClass()
    • Objects 类的 equals对两个对象进行比较,防止空指针异常
  • Date 类
    • 精确到毫秒,一个瞬间
    • 时间原点:1970-1-1 00:00:00 (中国在东八区,加8个小时)
    • 日期转毫秒之后的为long类型
    • Date带参构造是把毫秒值转化为Date日期
  • DataFormat是抽象类,format格式化,parse解析
    • 实现子类SimpleDateFormat
  • Calendar是抽象类,日历
    • 实现子类GregorianCalendar,可以通过Calendar.getInstance()来获取
    • get,set,add
  • System 提供大量静态方法
  • StringBuilder,底层也是数组(初始容量为16),没被final修饰
    • append方法返回的是本身
  • 包装类
    • 装箱:int -> Integer; 构造方法 or valueof
    • 拆箱:Integer -> int; intvalue
    • 自动拆箱和装箱
    • toString方法有参数
  • 集合 Collection 单列
    • 长度可以变化,只能存储对象
    • List 接口:存取元素顺序相同,有序;允许重复元素;有索引,可for遍历
      • Vector集合
      • ArrayList集合
      • LinkedList集合
    • Set 接口:不重复元素;没索引,不能普通for遍历;
      • TreeSet集合:无序
      • HashSet集合:无须
      • LinkedHashSet集合:有序
    • 迭代器Iterator:迭代访问Collection中的元素,在取元素之前判断集合有没有元素,hasNext and next
      • 是一个接口
      • 通过Collection.iterator()来获取迭代器实现类
      • 开始时指针指向 -1 索引
      • 增强for循环,底层迭代器
  • Map类 双列集合 Map<K, V>
    • key 不能重复,value可以重复
    • HashMap:基于Hash表;不保证映射顺序,允许null值和null键;数组+链表/红黑树;线程不安全
      • LinkedHashMap:Hash表和链表(记录元素顺序);可预知的迭代顺序,存取顺序一致
    • put方法:key不重复返回null,key重复时替换新的value,返回旧的value;
    • remove:删除指定键的键值对,返回被删除的值;不存在返回null
    • Map遍历
      • 键找值的方式:keySet()得到包含键的视图, for key : map.keySet()
      • Map接口的内部接口Entry,键值对 对象
      • 通过entrySet():entrySet把集合内的多个entry对象取出来存储在一个Set里面,遍历Set再通过getKey和getValue
    • 存储自定义类型键值对,需要重写hashcode和equals
    • Hashtable:基于Hash表;不能null;线程安全;和Vector一样在jdk1.2被取代
  • of静态方法:往集合里面添加多个元素;只适用于List,Set,Map接口,不适用于实现类;返回的是不可变的集合;Set和Map接口使用时不能有重复元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值