java程序員經常使用的11個API,趕忙收藏

java程序員經常使用的11個API,趕忙收藏

1、Scanner 類java

一個能夠解析基本類型和字符串的簡單文本掃描器。程序員

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 類數組

生成僞隨機數app

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 類dom

定義: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 對象不能存儲基本類型,只能存儲引用類型的數據。相似 不能寫,可是存儲基本數據類型對應的包裝類型是能夠的。因此,想要存儲基本類型數據, <> 中的數據類型,必須轉換後才能編寫,轉換寫法以下:


992f51aa7f66045f5abfcfae510c7a40.jpeg

4、String 類ide

類 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' } 。ui

例如:String str = "abc";至關於:char data[] = {'a', 'b', 'c'};String str = new String(data);// String底層是靠字符數組實現的。

5、構造方法

  • public String () :初始化新建立的 String 對象,以使其表示空字符序列。
  • public String (char [] value) :經過當前參數中的字符數組來構造新的 String。
  • public String (byte [] bytes) :經過使用平臺的默認字符集解碼當前參數中的字節數組來構造新的 String。

常見 String 類方法:

  1. length()字符串的長度
  2. charAt()截取一個字符
  3. getchars()截取多個字符並由其餘字符串接收
  4. getBytes () 將字符串變成一個 byte 數組
  5. toCharArray () 將字符串變成一個字符數組
  6. equals () 和 equalsIgnoreCase () 比較兩個字符串是否相等,前者區分大小寫,後者不區分
  7. startsWith () 和 endsWith () 判斷字符串是否是以特定的字符開頭或結束
  8. toUpperCase () 和 toLowerCase () 將字符串轉換爲大寫或小寫
  9. concat () 鏈接兩個字符串
  10. trim () 去掉起始和結束的空格
  11. substring()截取字符串
  12. indexOf () 和 lastIndexOf () 前者是查找字符或字符串第一次出現的地方,後者是查找字符或字符串最後一次出現的地方
  13. compareTo () 和 compareToIgnoreCase ()按字典順序比較兩個字符串的大小,前者區分大小寫,後者不區分
  14. replace () 替換

6、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 相關的許多方法了

7、Math 類

java.lang.Math 類包含用於執行基本數學運算的方法,如初等指數、對數、平方根和三角函數。相似這樣的工具類,其全部方法均爲靜態方法,而且不會建立對象,調用起來很是簡單。

  1. public static long abs (double a): 返回 a 的絕對值。
  2. public static double max (double a,double b): 返回 a、b 的最大值。
  3. public static double min (double a,double b): 返回 a、b 的最小值。
  4. pubic static double random (): 產生一個 0~1 之間的隨機數 (不包括 0 和 1)。
  5. public static double pow (double a,double b); 返回 a 的 b 次冪。
  6. public static double sqrt (double a): 返回 a 的平方根。
  7. public static double log (double a): 返回 a 的對數。
  8. public static double sin (double a): 返回 a 的正弦值。
  9. public static double asin (double a): 返回 a 的反正弦值。
  10. public static double ceil (double a): 返回大於 a 的最小整數,並將該整數轉化爲 double 型數據方法的名字 ceil 是天花板的意思,很形象)。例如,Math. eil52) 的值是 16.0。
  11. public static double floor (double a): 返回小於 a 的最大整數,並將該整數轉化爲 double 型數據。例如,Math.floor (15.2) 的值是 15.0,Mat.floor (-15.2) 的值是 - 16.0。
  12. 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。

8、Object 類

對象,全部的類都繼承 Object 類,可重寫部分方法

9、日期時間類

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 類中提供不少成員常量,表明給定的日曆字段:

bbc07b77dddb5badad32c9632892d464.jpg

10、System 類

  • currentTimeMillis 方法:毫秒級的時間戳
  • arrayCopy 方法:將數組中指定的數據拷貝到另外一個數組中。System.arraycopy( 源數組, 源數組, 目標數組, 目標數組索引發始位置, length);

11、StringBuilder 類

因爲 String 類的對象內容不可改變,因此每當進行字符串拼接時,老是會在內存中建立一個新的對象。
在 API 中對 String 類有這樣的描述:字符串是常量,它們的值在建立後不能被更改。爲了解決這一問題,可使用 java.lang.StringBuilder 類。

構造函數:

  1. public StringBuilder ():構造一個空的 StringBuilder 容器。
  2. public StringBuilder (String str):構造一個 StringBuilder 容器,並將字符串添加進去。

方法:

  • public StringBuilder append (...):添加任意類型數據的字符串形式,並返回當前對象自身。
  • public String toString ():將當前 StringBuilder 對象轉換爲 String 對象。

12、包裝類

Java 提供了兩個類型系統,基本類型與引用類型,使用基本類型在於效率,然而不少狀況,會建立對象使用,由於對象能夠作更多的功能,若是想要咱們的基本類型像對象同樣操做,就可使用基本類型對應的包裝類,以下:

e8556b160c1cead540fde53a25b28132.jpeg

基本數值 ----> 包裝對象

Integer i = new Integer(4);//使用構造函數函數Integer iii = Integer.valueOf(4);//使用包裝類中的valueOf方法

原做者:Java
原文連接: java程序員經常使用的11個API,趕忙收藏
原出處:公衆號
侵刪

1f24ebc24d1857ab05231300074242ff.jpeg

相關文章
相關標籤/搜索