Java程式設計師常用的11個API,趕快收藏吧!
1.Scanner 類
一個可以解析基本型別和字串的簡單文字掃描器。
package cn.wxuns;
import java.util.Scanner;
public class MyScanner {
public static void main( String[] args){
Scanner myScanner = new Scanner(System.in);
System.out.println("
請輸入一個數字");
int sc = myScanner.nextInt();
System.out.println(sc);
}
}
2.Random 類
生成偽隨機數
package cn.wxuns;
import java.util.Random;
public class MyRandom {
public static void main(String[] args){
int random = new Random().nextInt(100);
System.out.println(random);
}
}
3.ArrayList 類
定義:ArrayList<String>,ArrayList<Student>
方法:add,set,get,remove,clone,size 等
package cn.wxuns;
import java.util.ArrayList;
public class MyArray {
public static void main(String[] args){
ArrayList<String> arr = new ArrayList<>();
arr.add("lisi");
System.out.println(arr.get(0));
}
}
ArrayList 物件不能儲存基本型別,只能儲存引用型別的資料。類似 不能寫,但是儲存基本資料型別對應的包裝型別是可以的。所以,想要儲存基本型別資料, <> 中的資料型別,必須轉換後才能編寫,轉換寫法如下:
4.String 類
類 String 中包括用於檢查各個字串的方法,比如用於比較字串,搜尋字串,提取子字串以及建立具有翻譯為大寫或小寫的所有字元的字串的副本。
1. 字串不變:字串的值在建立後不能被更改。
String s1 = "abc";
s1 += "d";
System.out.println(s1); // "abcd"
//
記憶體中有"abc","abcd"兩個物件,s1從指向"abc",改變指向,指向了"abcd"。
2. 因為 String 物件是不可變的,所以它們可以被共享
String s1 = "abc";
String s2 = "abc";
//
記憶體中只有一個"abc"物件被建立,同時被s1和s2共享。
3."abc" 等效於 char [] data={ 'a' , 'b' , 'c' } 。
例如:
String str = "abc";
相當於:
char data[] = {'a', 'b', 'c'};
String str = new String(data);
// String底層是靠字元陣列實現的。
構造方法
- public String () :初始化新建立的 String 物件,以使其表示空字元序列。
- public String (char [] value) :透過當前引數中的字元陣列來構造新的 String。
- public String (byte [] bytes) :透過使用平臺的預設字符集解碼當前引數中的位元組陣列來構造新的 String。
常見 String 類方法:
- length ()字串的長度
- charAt ()擷取一個字元
- getchars ()擷取多個字元並由其他字串接收
- getBytes () 將字串變成一個 byte 陣列
- toCharArray () 將字串變成一個字元陣列
- equals () 和 equalsIgnoreCase () 比較兩個字串是否相等,前者區分大小寫,後者不區分
- startsWith () 和 endsWith () 判斷字串是不是以特定的字元開頭或結束
- toUpperCase () 和 toLowerCase () 將字串轉換為大寫或小寫
- concat () 連線兩個字串
- trim () 去掉起始和結束的空格
- substring ()擷取字串
- indexOf () 和 lastIndexOf () 前者是查詢字元或字串第一次出現的地方,後者是查詢字元或字串最後一次出現的地方
- compareTo () 和 compareToIgnoreCase ()按字典順序比較兩個字串的大小,前者區分大小寫,後者不區分
- replace () 替換
5.Arrays 類
java.util.Arrays 此類包含用來運算元組的各種方法,比如排序和搜尋等。其所有方法均為靜態方法,呼叫起來非常簡單。
1.Arrays.asList(T
… data)
注意:該方法返回的是 Arrays 內部靜態類 ArrayList,而不是我們平常使用的 ArrayList,,該靜態類 ArrayList 沒有覆蓋父類的 add, remove 等方法,所以如果直接呼叫,會報 UnsupportedOperationException 異常
- 將陣列轉換為集合,接收一個可變參
List<Integer> list = Arrays.asList(1, 2, 3);
Integer[] data = {1, 2, 3};
List<Integer> list = Arrays.asList(data);
- 如果將基本資料型別的陣列作為引數傳入, 該方法會把整個陣列當作返回的 List 中的第一個元素,多維陣列
int[] data = {1, 2, 3};
List<int[]> list = Arrays.asList(data);
2.Arrays.fill()
- 用指定元素填充整個陣列(會替換掉陣列中原來的元素)
Integer[] data = {1, 2, 3, 4};
Arrays.fill(data, 9);
System.out.println(Arrays.toString(data)); // [9, 9, 9, 9]
- 用指定元素填充陣列,從起始位置到結束位置,取頭不取尾(會替換掉陣列中原來的元素)
Integer[] data = {1, 2, 3, 4};
Arrays.fill(data, 0, 2, 9);
System.out.println(Arrays.toString(data)); // [9, 9, 3, 4]
3.Arrays.sort()
- 對陣列元素進行排序(序列排序
int[] data = {1, 2, 3,1,3,4};
Arrays.sort(data);
System.out.println(data);
- 對陣列元素的指定範圍進行排序(序列排序)
String[] data = {"1", "4", "3", "2"};
System.out.println(Arrays.toString(data)); // [1, 4, 3, 2]
//
對下標[0, 3)的元素進行排序,即對1,4,3進行排序,2保持不變
Arrays.sort(data, 0, 3);
System.out.println(Arrays.toString(data)); // [1, 3, 4, 2]
- 使用自定義比較器,對陣列元素的指定範圍進行排序(序列排序)
String[] data = {"1", "4", "3", "2"};
System.out.println(Arrays.toString(data)); // [1, 4, 3, 2]
//
對下標[0, 3]的元素進行降序排序,即對1,4,3進行降序排序,2保持不變
Arrays.sort(data, 0, 3, (str1, str2) -> {
if (str1.compareTo(str2) > 0) {
return -1;
} else {
return 1;
}
});
System.out.println(Arrays.toString(data)); // [4, 3, 1, 2]
4.Arrays.parallelSort()
對陣列元素進行排序(並行排序),當
資料規模較大時,會有更好的效能
Arrays.parallelSort(data);
5.Arrays.binarySearch () 二分法 查詢
注意:在呼叫該方法之前,必須先呼叫 sort () 方法進行排序,如果陣列沒有排序, 那麼結果是不確定的,此外如果陣列中包含多個指定元素,則無法保證將找到哪個元素
6.Arrays.copyOf()
複製陣列,其內部呼叫了 System.arraycopy () 方法,從下標 0 開始,如果超過原陣列長度,會用 null 進行填充
Integer[] data1 = {1, 2, 3, 4};
Integer[] data2 = Arrays.copyOf(data1, 2);
System.out.println(Arrays.toString(data2)); // [1, 2]
Integer[] data2 = Arrays.copyOf(data1, 5);
System.out.println(Arrays.toString(data2)); // [1, 2, 3, 4, null]
7.Arrays.copyOfRange(T[] original, int from, int to)
複製陣列,指定起始位置和結束位置,如果超過原陣列長度,會用 null 進行填充,同 6
8.Arrays.equals(Object[] array1, Object[] array2)
判斷兩個陣列是否相等,實際上比較的是兩個陣列的雜湊值,即 Arrays.hashCode (data1) == Arrays.hashCode (data2)
9.Arrays.deepEquals(Object[] array1, Object[] array2)
判斷兩個多維陣列是否相等,實際上比較的是兩個陣列的雜湊值,即 Arrays.hashCode (data1) == Arrays.hashCode (data2)
10.Arrays.hashCode(Object[] array)
返回陣列的雜湊值
11.Arrays.deepHashCode(Object[] array)
返回多維陣列的雜湊值
12.Arrays.toString(Object[] array)
返回陣列元素的字串形式
Integer[] data = {1, 2, 3};
System.out.println(Arrays.toString(data)); // [1, 2, 3]
13.Arrays.deepToString(Object[] array)
返回多維陣列元素的字串形式
14.Arrays.setAll(T[] array, IntFunction
Integer[] data = {1, 2, 3, 4};
// i
為索引值
Arrays.setAll(data, i -> data[i] * 2);
System.out.println(Arrays.toString(data)); // [2, 4, 6, 8]
15.Arrays.parallelSetAll(T[] array, IntFunction
Integer[] data = {2, 3, 4, 5};
//
第一個元素2不變,將其與第二個元素3一起作為引數x, y傳入,得到乘積6,作為陣列新的第二個元素
// 再將6和第三個元素4一起作為引數x, y傳入,得到乘積24,作為陣列新的第三個元素,以此類推
Arrays.parallelPrefix(data, (x, y) -> x * y);
System.out.println(Arrays.toString(data)); // [2, 6, 24, 120]
16.Arrays.spliterator(T[] array)
返回陣列的分片迭代器,用於並行遍歷陣列
17.Arrays.stream(T[] array)
返回陣列的流 Stream,然後我們就可以使用 Stream 相關的許多方法了
6.Math 類
java.lang.Math 類包含用於執行基本數學運算的方法,如初等指數、對數、平方根和三角函式。類似這樣的工具類,其所有方法均為靜態方法,並且不會建立物件,呼叫起來非常簡單。
- public static long abs (double a): 返回 a 的絕對值。
- public static double max (double a,double b): 返回 a、b 的最大值。
- public static double min (double a,double b): 返回 a、b 的最小值。
- pubic static double random (): 產生一個 0~1 之間的隨機數 (不包括 0 和 1)。
- public static double pow (double a,double b); 返回 a 的 b 次冪。
- public static double sqrt (double a): 返回 a 的平方根。
- public static double log (double a): 返回 a 的對數。
- public static double sin (double a): 返回 a 的正弦值。
- public static double asin (double a): 返回 a 的反正弦值。
- public static double ceil (double a): 返回大於 a 的最小整數,並將該整數轉化為 double 型資料方法的名字 ceil 是天花板的意思,很形象)。例如,Math. eil52) 的值是 16.0。
- public static double floor (double a): 返回小於 a 的最大整數,並將該整數轉化為 double 型資料。例如,Math.floor (15.2) 的值是 15.0,Mat.floor (-15.2) 的值是 - 16.0。
- public static long round (double a): 返回值是 (long) Math.floor (a+0.5)), 即所謂 a 的 “四捨五入” 後的值。一個比較通俗好記的辦法是:如果 a 是非負數,round 方法返回 a 的四捨五入後的整數 (小數大於等於 0.5 入,小於 0.5 舍): 如果 a 是負數,round 方法返回 a 的絕對值的四捨五入後的整數取負,但注意,小數大於 0.5 入,小於等於 0.5 舍,例如,Math.round (-15.501) 的值是 - 16,Math.round (-15.50) 的值是 - 15。
7.Object 類
物件,所有的類都繼承 Object 類,可重寫部分方法
8. 日期時間類
Date 類
表示特定的瞬間,精確到毫秒。
after,before,clone,getTime,hashCode,toString
DateFormat 類
是日期 / 時間格式化子類的抽象類,我們透過這個類可以幫我們完成日期和文字之間的轉換,也就是可以在 Date 物件與 String 物件之間進行來回轉換。
- 格式化:按照指定的格式,從 Date 物件轉換為 String 物件。
- 解析:按照指定的格式,從 String 物件轉換為 Date 物件。
由於 DateFormat 為抽象類,不能直接使用,所以需要常用的子類 java.text.SimpleDateFormat
建立 SimpleDateFormat
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class MySimpleDateFormat {
public static void main(String[] args) {
//
對應的日期格式如:2018-01-16 15:06:38
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
}
}
常用方法:
- public String format (Date date) :將 Date 物件格式化為字串。
- public Date parse (String source) :將字串解析為 Date 物件。
Calendar 類
Calendar
為抽象類,由於語言敏感性,Calendar 類在建立物件時並非直接建立,而是透過靜態方法建立 getInstance(),返回子類物件
常用方法:
- public int get (int field) :返回給定日曆欄位的值。
- public void set (int field, int value) :將給定的日曆欄位設定為給定值。
- public abstract void add (int field, int amount) :根據日曆的規則,為給定的日曆欄位新增或減去指定的時間量。
- public Date getTime () :返回一個表示此 Calendar 時間值的 Date 物件。
Calendar 類中提供很多成員常量,代表給定的日曆欄位:
9.System 類
- currentTimeMillis 方法:毫秒級的時間戳
- arrayCopy 方法:將陣列中指定的資料複製到另一個陣列中。System.arraycopy( 源陣列, 源陣列, 目標陣列, 目標陣列索引起始位置, length);
10.StringBuilder 類
由於 String 類的物件內容不可改變,所以每當進行字串拼接時,總是會在記憶體中建立一個新的物件。
在 API 中對 String 類有這樣的描述:字串是常量,它們的值在建立後不能被更改。為了解決這一問題,可以使用 java.lang.StringBuilder 類。
建構函式:
- public StringBuilder () :構造一個空的 StringBuilder 容器。
- public StringBuilder (String str) :構造一個 StringBuilder 容器,並將字串新增進去。
方法:
- public StringBuilder append (...) :新增任意型別資料的字串形式,並返回當前物件自身。
- public String toString () :將當前 StringBuilder 物件轉換為 String 物件。
11. 包裝類
Java 提供了兩個型別系統,基本型別與引用型別,使用基本型別在於效率,然而很多情況,會建立物件使用,因為物件可以做更多的功能,如果想要我們的基本型別像物件一樣操作,就可以使用基本型別對應的包裝類,如下:
基本數值 ----> 包裝物件
Integer i = new Integer(4);//
使用建構函式函式
Integer iii = Integer.valueOf(4);//使用包裝類中的valueOf方法
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992957/viewspace-2754630/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【程式設計師必備】免費常用API收藏程式設計師API
- 常用API大全分享!趕緊收藏起來!API
- Java 常用類-程式設計師頭大的日期時間APIJava程式設計師API
- 程式設計師都在收藏的免費好用API介面程式設計師API
- 去擺攤吧,落魄的Java程式設計師Java程式設計師
- 程式設計師都在用的免費常用API程式設計師API
- 工作中常用的免費API,趕緊收藏起來~API
- 程式設計師必收藏的五個網站程式設計師網站
- 好程式設計師Java培訓分享Java程式設計師常用的工具類庫程式設計師Java
- 好程式設計師Java培訓Java最常用的五個註解程式設計師Java
- 趕緊收藏!程式設計師必備的工具網站,用好了節省你大把的程式設計時間程式設計師網站
- 程式設計師必備:30個MySQL資料庫常用小技巧,值得收藏!程式設計師MySql資料庫
- 程式設計師快放棄 Android 9.0 吧,10.0 正在來的路上!程式設計師Android
- 免費常用API大全,程式設計師必備API程式設計師
- 自媒體人常用的4個工具,趕快收藏
- 程式設計師寶典:常用的免費好物API程式設計師API
- 【程式設計師乾貨】常用的免費API介面大全程式設計師API
- 養生吧,程式設計師!程式設計師
- 免費api分享,趕緊收藏~API
- 教師節快樂,全網最全程式設計學習網站彙總來了,還不趕快收藏程式設計學習網站
- 程式設計師都在用的常用API,含免費次數程式設計師API
- 【趕快收藏】網路安全常用的工具!
- Java11新特性,Java程式設計師必備Java程式設計師
- 每個程式設計師必須掌握的常用英語詞彙分享給你(建議收藏)程式設計師
- 每個程式設計師都在推薦的好用api程式設計師API
- 收藏 | 阿里程式設計師常用的 15 款開發者工具(2020 版)阿里程式設計師
- 【程式設計師介面百寶箱】免費常用API介面程式設計師API
- JAVA程式設計學習記錄(API常用類(二))Java程式設計API
- 程式設計師的快樂生活程式設計師
- 各類好用的API推薦,趕緊收藏API
- 好程式設計師Java培訓分享20個Java程式設計師基礎題程式設計師Java
- 常用的自媒體工具分享!趕快收藏!
- 程式設計師快樂器之JAVA程式碼生成工具程式設計師Java
- 好程式設計師Java培訓分享本地快取如何設計程式設計師Java快取
- 華為大佬:做一個快樂的程式設計師程式設計師
- 給Java初學者的十條小建議,快來收藏吧!Java
- Java程式設計師的八個最佳實踐Java程式設計師
- 程式設計師節快樂程式設計師