java的util包在jdk哪_JAVA核心包之java.util工具包

学习目的

了解JDK提供java开发框架、JRE环境

了解java开发的常用包,及其作用

学会查看每一个java包的底层源码实现

掌握java.util工具包的常用接口和类,以及常用的方法

java常见包

包名

解释

备注

java.util

常用工具类包

java.lang

程序设计基础类包

java核心类包

java.text

文本格式包

用于格式化和分析类,整理字符串类

java.io

输入、输出接口包

文件传输包

java.sql

数据库处理包

将 SQL 语句传递给数据库

java.beans

可复用、可重用组件

可视化操作组件

一、java.util

概念

util包即java工具类包,是java开发框架中的万能工具。包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化接口等,提供各种实用工具类,如字符串标记生成器、随机数生成器和位数组。

1.1 接口

接口

名称

备注

Iterator

迭代器接口

迭代、遍历集合

Collection

线性集合接口

提供各种数据结构的集合

Comparator

集合排序比较函数

对集合对象强行排序

Map

键值对集合接口

key-value存储数据的集合

Queue

消息队列接口

EventListener

事件监听器

1.1.1 Iterator迭代器

简述

Collection集合的父类接口。对 collection集合进行迭代遍历的迭代器,取代了 Java集合框架中的枚举Enumeration。

作用

Collection子类通过调用itrator()方法,返回一个在当前collection集合对象上的迭代器对象,使用该迭代器对象对集合进行迭代遍历。

常见常见子接口和实现类

子接口:Collection接口、XMLEventReader

实现类:Scanner

底层实现及常用方法

boolean hasNext():如果collection集合中仍有元素可以迭代遍历,则返回 true

E next():返回对集合进行迭代得到的下一个元素,E为泛型(不指定数据类型)

void remove(Object o):从迭代器指向的 collection集合中移除迭代器返回的最后一个元素(可选操作 o)

//底层源码

public interface Iterator {

//判断是否有下一个可以迭代的元素

boolean hasNext();

//获取迭代得到的下一个元素

E next();

//接口的默认实现:移除集合中迭代得到的下一个元素

default void remove() {

throw new UnsupportedOperationException("remove");

}

//接口的默认实现:forEach循环增强遍历

default void forEachRemaining(Consumer super E> action) {

Objects.requireNonNull(action);

while (hasNext())

action.accept(next());

}

}

1.1.2 Collection

简述

Collection 是集合层次结构中的根接口。Collection表示一组对象,这些对象称为集合的元素。在Collection的子类集合中,一些集合是有序,且允许有重复的元素(如List);而另一些则是无序,且不允许有重复元素的(如Set)。

作用

JDK 不提供Collection接口的任何直接实现,需要使用 多态和更具体的子接口(如 Set 、List)才能实现Collection接口,从而重写调用Collection接口的方法。

常见子接口和实现类

子接口:List、Set、SortedSet、Queue

实现类:AbstractCoolection、AbstractList、AbstractSet、AbstractQueue、LinkedList、HashSet、TreeSet、Stack、Vector

底层实现及常用方法

public interface Collection extends Iterable {

// Query Operations,查询操作

//返回集合中的元素个数

int size();

//判断该集合是否有元素,该方法底层实现使用 size=0判断

boolean isEmpty();

//判断此集合中是否包含指定元素o,contains()底层使用equals(o)方法进行比较实现

boolean contains(Object o);

//返回一个在此集合对象上产生的 迭代器对象

Iterator iterator();

//返回包含了此集合所有元素的 一个数组对象

Object[] toArray();

// Modification Operations,修改操作

//往集合中添加元素

boolean add(E e);

//(删除)移除此集合中指定的单个元素o

boolean remove(Object o);

// Bulk Operations,块操作

boolean containsAll(Collection> c);

boolean addAll(Collection extends E> c);

boolean removeAll(Collection> c);

boolean retainAll(Collection> c);

//(清空)移除此集合中的所有元素

void clear();

// Comparison and hashing,比较和哈希操作

//判断此collection对象 与 指定对象o是否相等

boolean equals(Object o);

//返回此collection对象的哈希码值

int hashCode();

//以下方法从JDK1.8版本开始:@since 1.8

}

1.1.3 Comparator

简述

强行对某个 collection对象(该对象本身存储是无序的)进行整体排序的比较函数接口。一个集合对象需要对其存储的元素进行排序时,存储的元素若是自定义类型的,该元素就可以实现Comparator接口,使得元素在集合中完成排序。

作用

自定义类型的元素实现Comparator接口,并重写其compare()方法后,可以让该类型元素在集合中完成排序。

常见实现类

底层实现及常用方法

int compare(T o1, T o2):比较用来排序的两个参数;根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。

返回>o:

返回=0:说明两个对象o1和o2相等

返回<0:

@FunctionalInterface

public interface Comparator {

//比较用来排序的两个对象参数

int compare(T o1, T o2);

//判断某个对象obj是否 与此 Comparator对象相等

boolean equals(Object obj);

//以下为JDK1.8版本后加入的默认实现方法

}

1.1.4 Map

简述

Map简称映射,是将 键key映射到值的对象,中的K是泛型,限定键key的数据类型;V也是泛型,限定值value的数据类型。Map中一个映射不能包含重复的键key,每个键最多只能映射到一个值value。

作用

提供一种图表式的结构存储数据。Map接口还取代了 Dictionary 类,后者完全是一个抽象类,而不是一个接口。

常见常见子接口和实现类

子接口:SortedMap

实现类:AbstractMap,ConcurrentHashMap,HashMap,LinkedHashMap,Properties,TreeMap

底层实现及常用方法

public interface Map {

// Query Operations,查询操作

//返回此映射中 键-值对的个数

int size();

//判断该映射中是否包含 键-值对关系

boolean isEmpty();

//判断包含指定键key的映射关系

boolean containsKey(Object key);

//判断指定是否存在key可以映射到指定值value

boolean containsValue(Object value);

// 根据指定key返回value;无映射则返回null

V get(Object key);

// Modification Operations,修改操作

//将指定key与value加入映射中,若以前就包含该键的映射关系,则用 指定值 替换 旧值

V put(K key, V value);

//如果存在指定key的映射关系,则将该key从映射中移除;返回key对应的value

V remove(Object key);

// Bulk Operations,块操作

//从指定映射中 将所有键-值对关系m 复制到此映射中

void putAll(Map extends K, ? extends V> m);

//移除所有的键-值对关系

void clear();

// Views,视图

//返回此映射中 所有键的set视图;将所有key抽出来放到set集合中

Set keySet();

//返回此映射中 所有值的collection视图;将所有value抽出来放到collection集合中

Collection values();

//返回此映射中 所有键-值对关系的set视图;map中key-value的形式变成set中"key=value"的形式,Entry<>是Map的静态内部类(接口)

Set> entrySet();

// Comparison and hashing,比较与哈希

//比较指定对象与此映射是否相等,比较的是 映射 与 映射

boolean equals(Object o);

//返回此映射的哈希码值

int hashCode();

// Defaultable methods,JDK8后的默认实现

1.1.5 Queue消息队列接口

简述

队列指的是 在处理元素前,用于保存元素的 collection集合。除了基本的collection操作外,队列还提供其他的插入、提取和检查操作。

作用

队列通常以 FIFO(先进先出)的方式排序各个元素。不过 优先级队列和 LIFO队列(或堆栈)例外,前者根据提供的比较器或元素的自然顺序对元素进行排序,后者按 LIFO(后进先出)的方式对元素进行排序。

常见常见子接口和实现类

子接口:BlockingDeque阻塞双端队列,BlockingQueue阻塞队列

实现类:AbstractQueue,ArrayDeque数组双端队列

底层实现及常用方法

//Queue底层源码实现

public interface Queue extends Collection {

//将指定元素插入此队列(如果立即可行且不会超出容量限制),成功时返回 true,如果当前没有可用空间则抛出 IllegalStateException

boolean add(E e);

//将指定元素插入此队列,当使用有容量限制的队列时,此方法优先级高于add(E e )

boolean offer(E e);

//获取并移除此队列的头,此队列为空时将抛出一个异常;返回队列的头

E remove();

//获取并移除此队列的头,如果此队列为空则返回 null;返回队列的头

E poll();

//获取但是不移除此队列的头,此队列为空时将抛出一个异常;返回队列的头

E element();

//获取但不移除此队列的头;如果此队列为空则返回 null;返回队列的头

E peek();

}

1.1.6 EventListener事件监听器接口

简述

EventListener是所有事件侦听器接口必须扩展的标记接口。

作用

常见常见子接口和实现类

子接口:

实现类:

底层实现及常用方法

//EventListener事件监听器在底层并没有任何可实现的方法,只是一种规定

public interface EventListener {

}

1.1.7 Deque双端队列

简述

一个线性 collection,支持在两端插入和移除元素。

1.2 常用类

类名

作用

备注

1.2.1 Scanner文本扫描器

简述

一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。

作用

常见父类或接口

底层实现及常用方法

1.2.2

简述

作用

常见父类或接口

底层实现及常用方法

1.2.3

简述

作用

常见父类或接口

底层实现及常用方法

1.2.4

简述

作用

常见父类或接口

底层实现及常用方法

1.2.5

简述

作用

常见父类或接口

底层实现及常用方法

1.2.6

简述

作用

常见父类或接口

底层实现及常用方法

1.2.7

简述

作用

常见父类或接口

底层实现及常用方法

1.2.8

简述

作用

常见父类或接口

底层实现及常用方法

1.2.9 ArrayList数组列表集合

简述

作用

常见父类或接口

底层实现及常用方法

public class ArrayList extends AbstractList

implements List, RandomAccess, Cloneable, java.io.Serializable

{

//创建一个集合时的默认容量10

private static final int DEFAULT_CAPACITY = 10;

//创建一个空元素的Object数组--存放集合元素

private static final Object[] EMPTY_ELEMENTDATA = {};

//

private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};

1.2.10

简述

作用

常见父类或接口

底层实现及常用方法

1.2.11

简述

作用

常见父类或接口

底层实现及常用方法

1.2.12

简述

作用

常见父类或接口

底层实现及常用方法

1.2.13

简述

作用

常见父类或接口

底层实现及常用方法

1.2.14

简述

作用

常见父类或接口

底层实现及常用方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值