集合工具类php
经常使用方法:html
Sort ------------->排序(正序)java
Shuffle ------------>乱序(随机洗牌)数组
reverse ----------->反转(倒序)服务器
frequency--------->统计全部dom
fill------------------>替换eclipse
swap-------------->交换(指定位置)jvm
static 函数
|
addAll(Collection<? super T> c, T... elements) |
|
static
|
binarySearch(List<? extends Comparable<? super T>> list, T key) |
|
static
|
binarySearch(List<? extends T> list, T key, Comparator<? super T> c) |
|
static
|
copy(List<? super T> dest, List<? extends T> src) |
|
static
|
emptyList() |
|
static
|
emptyMap() |
|
static
|
emptySet() |
|
static
|
||
static int |
frequency(Collection<?> c, Object o) |
|
static int |
indexOfSubList(List<?> source, List<?> target) |
|
static int |
lastIndexOfSubList(List<?> source, List<?> target) |
|
static
|
list(Enumeration<T> e) |
|
static
|
max(Collection<? extends T> coll) |
|
static
|
max(Collection<? extends T> coll, Comparator<? super T> comp) |
|
static
|
min(Collection<? extends T> coll) |
|
static
|
min(Collection<? extends T> coll, Comparator<? super T> comp) |
|
static void |
||
static
|
reverseOrder() |
|
static
|
reverseOrder(Comparator<T> cmp) |
|
static void |
||
static void |
||
static
|
||
static
|
sort(List<T> list, Comparator<? super T> c) |
|
static void |
经常使用方法:
封装:
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
|
asList(T... a) |
|
static
|
binarySearch(T[] a, int fromIndex, int toIndex, T key, Comparator<? super T> c) |
|
static
|
binarySearch(T[] a, T key, Comparator<? super T> c) |
|
static
|
copyOf(T[] original, int newLength) |
|
static
|
copyOf(U[] original, int newLength, Class<? extends T[]> newType) |
|
static
|
copyOfRange(T[] original, int from, int to) |
|
static
|
copyOfRange(U[] original, int from, int to, Class<? extends T[]> newType) |
|
static boolean |
equals(Object[] a, Object[] a2) |
|
static void |
fill(Object[] a, int fromIndex, int toIndex, Object val) |
|
static void |
fill(Object[] a, Object val) |
|
static int |
hashCode(short[] a) |
|
static void |
||
static void |
sort(Object[] a, int fromIndex, int toIndex) |
|
static void |
sort(short[] a) |
|
static void |
sort(short[] a, int fromIndex, int toIndex) |
|
static
|
sort(T[] a, Comparator<? super T> c) |
|
static
|
sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c) |
|
static String |
经常使用方法:
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均可以终止,直接退出) |
static void |
gc() |
获取属性:getProperty
获取属性的集合名称:propertyNames
getProperty(String key) |
|
getProperty(String key, String defaultValue) |
|
Enumeration<?> |
propertyNames() |
实用:
exec 能够启动一个子进程
getRuntime: Runtime runtime = Runtime . getRuntime;
exec: runtime.exec(“notepad.exe”);//打开记事本
返回一个Process的对象 : 遗留: 调用一个 java.exe HelloWorld的命令,把这个命令的输出打印的eclipse里的控制台里边
void |
addShutdownHook(Thread hook) |
int |
availableProcessors() |
exec(String[] cmdarray, String[] envp) |
|
exec(String[] cmdarray, String[] envp, File dir) |
|
exec(String command, String[] envp, File dir) |
|
void |
exit(int status) |
long |
freeMemory() |
void |
gc() |
static Runtime |
getRuntime() |
void |
halt(int status) |
void |
|
void |
loadLibrary(String libname) |
long |
maxMemory() |
boolean |
removeShutdownHook(Thread hook) |
void |
runFinalization() |
long |
totalMemory() |
void |
traceInstructions(boolean on) |
void |
traceMethodCalls(boolean on) |
ProcessBuilder.start() 和 Runtime.exec 方法建立一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并得到相关信息。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法
方法:
abstract void |
destroy() |
abstract int |
exitValue() |
abstract InputStream |
getErrorStream() |
abstract InputStream |
getInputStream() |
abstract OutputStream |
getOutputStream() |
abstract int |
waitFor() |
常量
E 天然对数的底
PI 圆周率
-----
经常使用方法:
sqrt 开平方
ceil 大于等于参数的第一个正数
floor 小于等于参数的第一个正数
round 四舍五入
random 获取一个0 ~ 1的随机数
范例:要求获取 0~6 范围的随机数
Math.random() * 6
---------前边的方法须要熟练使用
cbrt 开立方
pow(a, b) a的b次幂
nextInt() 去在int范围内的随机数
nextIndex(a) 取0~a范围内的随机数
范例:若是求 3 到 9的随机数
nextIndex(6) + 3
总结: 若是球 a 到 b 的随机数
int min = Math.min(a,b);
int max = Math.max(a,b);
nextIndex(max - min) + min;
伪随机数:若是随机种子肯定了,每次运行的结果都会重复。(每一次的第一次调用都同样)
new Random() ---> 用当前时间的纳秒作随机种子
new Date() //建立了一个当前时间的对象
long t = System.currentTimeMillis(); //得到当前时间的一个时间戳 --注意:有的服务器,时间戳是按秒算的 ,好比php,java里是按毫秒算的
new Date(t); //经过一个时间戳建立一个Date对象
---------
把Date对象转成一个时间戳:
getTime()
-----------
Date 方便阅读
long 方便计算。方便传输
格式化:
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)设置时间
Date转Canlendar: 经过setTime(Date date)把Date设置给Canlendar