【JAVA基础】JAVA语法与类库基础知识-持续更新

IO流

File 类

  • 创建类

集合相关

Collection

该类及以下几种子类的基本功能就是存储不确定数量的数据

Set

该类及其子类的特点有:存储的数据是无序的(指存入集合的先后顺序)、存储的数据不重复

HashSet
HashSet是不同步的,非线程安全,集合元素值可以为null(null也可以计算哈希值)
在放入对象时,如果重写了equals方法则也应该重写hashCode方法,这样可以保证hashSet中只有一个相同的对象。(因为equals相同但hashCode不同时,hashSet仍然可以保存这两个对象,但这不符合Set的规则)
LinkedHashSet
保存的方式与HashSet一致,但多维护了一个链表来提供添加值的顺序。
遍历时更快
TreeSet
保存在TreeSet中的元素,如果是某个类的对象,那么该类一定实现了Comparable接口的compareTo方法。
添加第一个元素的时候不会检查上述约束。
TreeSet保存元素时基于红黑树结构
EnumSet
专门用来保存枚举类元素的集合,其中所有元素都是指定枚举类的枚举值
使用noneOf()可以创建一个指定枚举类的空Set

Queue

PriorityQueue
队列的实现类之一,实现基本的先进先出功能
ArrayDeque
双端队列的实现,可以从头或尾访问该队列,因此也可作为栈的实现。

List

ArrayList
非线程安全
Vector
少用
LinkedList
非线程安全的,内部是以链表的方式存储数据,与上述两个List的实现都不一样(数组)。
它可以作为队列和栈的实现来使用,因为也实现了Deque的双端接口

Map

该类的基本功能就是存储键值对的数据

HashMap

与HashSet一样的是需要保证equals方法和hashCode方法在输出的结果上保持一致
线程不安全的实现

Hashtable

古老的java字典类实现,现在不怎么使用,线程安全所以性能较差

LinkedHashMap

实现了一个双端链表,可以记住键值对添加的顺序,遍历时会提高性能,但随机访问时性能就相对差一些。

TreeMap

使用红黑树结构存储键值对,会对键的值进行排序,需要维护equals方法和compareTo方法。相等时compareTo方法需要输出0
需要注意的是,如果要保持java定义的自然排序,需要保证所有key的对象实现了Comparable接口。
如果是定义排序的话则需要传入一个Comparator对象。

WeakHashMap

与HashMap不一样的是其对key对象的引用是弱引用,表示存入字典的对象若很久没有使用则会被GC回收

EnumMap

针对枚举类设计的Map实现类,其在声名对象时需要给定枚举类,并且其key值只能是枚举类的枚举值。

Collections工具类

Collections类中提供了针对 List、Set、Queue和Map的多种操作,都是静态方法。

例如:
Unmodifiable*
Synchronized*
Checked*
Empty*
Singleton*
sort
binarySearch
shuffle
swap
min
max
等等方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值