工具类总结 (不完整)

工具类总结

类 Collections

集合工具类

常用方法:

Sort  ------------->排序(正序)

Shuffle ------------>乱序(随机洗牌)

reverse ----------->反转(倒序)

frequency--------->统计所有

fill------------------>替换

swap-------------->交换(指定位置)

static 

<T> boolean

addAll(Collection<? super T> c, T... elements) 
将所有指定元素添加到指定 collection 中。

static 

<T> int

binarySearch(List<? extends Comparable<? super T>> list, T key) 
使用二分搜索法搜索指定列表,以获得指定对象。

static 

<T> int

binarySearch(List<? extends T> list, T key, Comparator<? super T> c) 
使用二分搜索法搜索指定列表,以获得指定对象。

static 

<T> void

copy(List<? super T> dest, List<? extends T> src) 
将所有元素从一个列表复制到另一个列表。

static 

<T> List<T>

emptyList() 
返回空的列表(不可变的)。

static 

<K,V> Map<K,V>

emptyMap() 
返回空的映射(不可变的)。

static 

<T> Set<T>

emptySet() 
返回空的 set(不可变的)。

static 

<T> void

fill(List<? super T> list, T obj) 
使用指定元素替换指定列表中的所有元素。

static int

frequency(Collection<?> c, Object o) 
返回指定 collection 中等于指定对象的元素数。

static int

indexOfSubList(List<?> source, List<?> target) 
返回指定源列表中第一次出现指定目标列表的起始位置;如果没有出现这样的列表,则返回 -1。

static int

lastIndexOfSubList(List<?> source, List<?> target) 
返回指定源列表中最后一次出现指定目标列表的起始位置;如果没有出现这样的列表,则返回 -1。

static 

<T> ArrayList<T>

list(Enumeration<T> e) 
返回一个数组列表,它按返回顺序包含指定枚举返回的元素。

static 

<T extends Object & Comparable<? super T>> 
T

max(Collection<? extends T> coll) 
根据元素的自然顺序,返回给定 collection 的最大元素。

static 

<T> T

max(Collection<? extends T> coll, Comparator<? super T> comp) 
根据指定比较器产生的顺序,返回给定 collection 的最大元素。

static 

<T extends Object & Comparable<? super T>> 
T

min(Collection<? extends T> coll) 
根据元素的自然顺序 返回给定 collection 的最小元素。

static 

<T> T

min(Collection<? extends T> coll, Comparator<? super T> comp) 
根据指定比较器产生的顺序,返回给定 collection 的最小元素。

static void

reverse(List<?> list) 
反转指定列表中元素的顺序。

static 

<T> Comparator<T>

reverseOrder() 
返回一个比较器,它强行逆转实现了 Comparable 接口的对象 collection 的自然顺序。

static 

<T> Comparator<T>

reverseOrder(Comparator<T> cmp) 
返回一个比较器,它强行逆转指定比较器的顺序。

static void

shuffle(List<?> list) 
使用默认随机源对指定列表进行置换。

static void

shuffle(List<?> list, Random rnd) 
使用指定的随机源对指定列表进行置换。

static 

<T extends Comparable<? super T>> 
void

sort(List<T> list) 
根据元素的自然顺序 对指定列表按升序进行排序。

static 

<T> void

sort(List<T> list, Comparator<? super T> c) 
根据指定比较器产生的顺序对指定列表进行排序。

static void

swap(List<?> list, int i, int j) 
在指定列表的指定位置处交换元素。

Arrays数组工具类

常用方法:

封装:

asList---------->   

static <T> List<T> asList(T... a) 把一个T类型的数组或可变参数传到list集合

好处:可以使用list中提供的封装好的方法,但是不可以做任何改长度的操

作:增删操作(×)可以进行元素的替换(只要不改变长度的操作都可以)

查找:

binarySearch-------------->

tatic <T> int  binarySearch(T[] a, T key, Comparator<? super T> c)  二分查找

查找

一个元素在数组中的索引

分配:

fill-------------->

static void fill(数据类型[] a, 数据类型 val)  a里的所有元素换成val

拷贝:

copyOf------------>

static <T> T[]  copyOf(T[] original, int newLength)   注意:如果不够,用

null填充(如果是基本数据类型的数组,用0填充)

copyOfRange----------->

static <T> T[]  copyOfRange(T[] original, int from, int to)  

注意:如果不够,用null填充(如果是基本数据类型的数组,用0填充)

不包含 to 的索引的元素

static 

<T> List<T>

asList(T... a) 
返回一个受指定数组支持的固定大小的列表(长度不可变)。

static 

<T> int

binarySearch(T[] a, int fromIndex, int toIndex, T key, Comparator<? super T> c) 
使用二分搜索法来搜索指定数组的范围,以获得指定对象。

static 

<T> int

binarySearch(T[] a, T key, Comparator<? super T> c) 
使用二分搜索法来搜索指定数组,以获得指定对象。

static 

<T> T[]

copyOf(T[] original, int newLength) 
复制指定的数组,截取或用 null 填充(如有必要),以使副本具有指定的长度。

static 

<T,U> T[]

copyOf(U[] original, int newLength, Class<? extends T[]> newType) 
复制指定的数组,截取或用 null 填充(如有必要),以使副本具有指定的长度。

static 

<T> T[]

copyOfRange(T[] original, int from, int to) 
将指定数组的指定范围复制到一个新数组。

static 

<T,U> T[]

copyOfRange(U[] original, int from, int to, Class<? extends T[]> newType) 
将指定数组的指定范围复制到一个新数组。

static boolean

equals(Object[] a, Object[] a2) 
如果两个指定的 Objects 数组彼此相等,则返回 true。

static void

fill(Object[] a, int fromIndex, int toIndex, Object val) 
将指定的 Object 引用分配给指定 Object 数组指定范围中的每个元素。

static void

fill(Object[] a, Object val) 
将指定的 Object 引用分配给指定 Object 数组的每个元素。

static int

hashCode(short[] a) 
基于指定数组的内容返回哈希码。

static void

sort(Object[] a) 
根据元素的自然顺序对指定对象数组按升序进行排序。

static void

sort(Object[] a, int fromIndex, int toIndex) 
根据元素的自然顺序对指定对象数组的指定范围按升序进行排序。

static void

sort(short[] a) 
对指定的 short 型数组按数字升序进行排序。

static void

sort(short[] a, int fromIndex, int toIndex) 
对指定 short 型数组的指定范围按数字升序进行排序。

static 

<T> void

sort(T[] a, Comparator<? super T> c) 
根据指定比较器产生的顺序对指定对象数组进行排序。

static 

<T> void

sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c) 
根据指定比较器产生的顺序对指定对象数组的指定范围进行排序。

static String

toString(Object[] a) 
返回指定数组内容的字符串表示形式。

System

常用方法:

exit ----------->退出jvm

Gc------------->通知垃圾回收器回收垃圾

getProperties() :

static Properties getProperties()

获取属性的时候,要调用 getProperty  get方法获取的值不完整

获取所有属性名集合的时候: propertyNames  不要用keySet,这个获取的不完整

currentTimeMillis():

static long currentTimeMillis() ------->返回以毫秒为单位的当前时间。

方法摘要:

static PrintStream

err 
“标准”错误输出流。

static InputStream

in 
“标准”输入流。

static PrintStream

out 
“标准”输出流。

常用方法:

static void

arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 

(不如用Array里的copyOf)
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。

static String

clearProperty(String key) 
移除指定键指示的系统属性。

static long

currentTimeMillis() 
返回以毫秒为单位的当前时间。

static void

exit(int status) (连finally都可以终止,直接退出)
终止当前正在运行的 Java 虚拟机。

static void

gc() 
运行垃圾回收器。

类 Properties

获取属性:getProperty

获取属性的集合名称:propertyNames

String

getProperty(String key) 
用指定的键在此属性列表中搜索属性。

String

getProperty(String key, String defaultValue) 
用指定的键在属性列表中搜索属性。

Enumeration<?>

propertyNames() 
返回属性列表中所有键的枚举,如果在主属性列表中未找到同名的键,则包括默认属性列表中不同的键。

类 Runtime(不重要)

实用:

exec 可以启动一个子进程

getRuntime: Runtime runtime =  Runtime . getRuntime;

exec: runtime.exec(“notepad.exe”);//打开记事本

返回一个Process的对象 :   遗留: 调用一个 java.exe HelloWorld的命令,把这个命令的输出打印的eclipse里的控制台里边

void

addShutdownHook(Thread hook) 
注册新的虚拟机来关闭钩子。

int

availableProcessors() 
向 Java 虚拟机返回可用处理器的数目。

Process

exec(String command) 
在单独的进程中执行指定的字符串命令。

Process

exec(String[] cmdarray) 
在单独的进程中执行指定命令和变量。

Process

exec(String[] cmdarray, String[] envp) 
在指定环境的独立进程中执行指定命令和变量。

Process

exec(String[] cmdarray, String[] envp, File dir) 
在指定环境和工作目录的独立进程中执行指定的命令和变量。

Process

exec(String command, String[] envp) 
在指定环境的单独进程中执行指定的字符串命令。

Process

exec(String command, String[] envp, File dir) 
在有指定环境和工作目录的独立进程中执行指定的字符串命令。

void

exit(int status) 
通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。

long

freeMemory() 
返回 Java 虚拟机中的空闲内存量。

void

gc() 
运行垃圾回收器。

static Runtime

getRuntime() 
返回与当前 Java 应用程序相关的运行时对象。

void

halt(int status) 
强行终止目前正在运行的 Java 虚拟机。

void

load(String filename) 
加载作为动态库的指定文件名。

void

loadLibrary(String libname) 
加载具有指定库名的动态库。

long

maxMemory() 
返回 Java 虚拟机试图使用的最大内存量。

boolean

removeShutdownHook(Thread hook) 
取消注册某个先前已注册的虚拟机关闭钩子。

void

runFinalization() 
运行挂起 finalization 的所有对象的终止方法。

long

totalMemory() 
返回 Java 虚拟机中的内存总量。

void

traceInstructions(boolean on) 
启用/禁用指令跟踪。

void

traceMethodCalls(boolean on) 
启用/禁用方法调用跟踪。

类 Process

ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获得相关信息。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法

方法:

abstract void

destroy() 
杀掉子进程。

abstract int

exitValue() 
返回子进程的出口值。

abstract InputStream

getErrorStream() 
获取子进程的错误流。

abstract InputStream

getInputStream() 
获取子进程的输入流。

abstract OutputStream

getOutputStream() 
获取子进程的输出流。

abstract int

waitFor() 
导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。

Math工具类

常量

自然对数的底

PI 圆周率

-----

常用方法:

sqrt  开平方

ceil 大于等于参数的第一个正数

floor 小于等于参数的第一个正数

round 四舍五入

random 获取一个0 ~ 1的随机数

范例:要求获取 0~6 范围的随机数

Math.random() * 6

---------前边的方法需要熟练使用

cbrt  开立方

pow(a, b)  ab次幂

Random

nextInt() 去在int范围内的随机数

nextIndex(a) 0~a范围内的随机数

范例:如果求 到 9的随机数 

nextIndex(6) + 3

总结: 如果球 到 的随机数

int min = Math.min(a,b);

int max = Math.max(a,b);

nextIndex(max - min) + min;

伪随机数:如果随机种子确定了,每次运行的结果都会重复。(每一次的第一次调用都一样)

new Random() ---> 用当前时间的纳秒做随机种子

Date日期类

new Date()   //创建了一个当前时间的对象

long t = System.currentTimeMillis(); //获得当前时间的一个时间戳 --注意:有的服务器,时间戳是按秒算的 ,比如phpjava里是按毫秒算的

new Date(t); //通过一个时间戳创建一个Date对象

---------

Date对象转成一个时间戳:

getTime()

-----------

Date  方便阅读

long  方便计算。方便传输

DateFormat

格式化:

SimpleDateFormat 构造函数的模板里如果有不需要解析的英文,需要加 ''

模板里边, 如果模板的字母 只写了一个, 补全。

如果超出格式化的长度,补 0  

|- new SimpleDateFormat("yyyyy").format(0)   01970

|- new SimpleDateFormat("y").format(0)   1970

|- new SimpleDateFormat("yy").format(0)   70

解析:

parse(String)

Canlendar日历类

获取字段: get

设置字段:set(字段,值) 月是从0开始的

转成Date: getTime()

转成时间戳:getTimeInMillis

毫秒转Canlendar: 获得一个Canlendar对象,通过 setTimeInMillis(long millis)设置时间 

DateCanlendar: 通过setTime(Date date)Date设置给Canlendar   

原文地址:https://www.cnblogs.com/deny-66/p/5395304.html