集合工具類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