java.util.Arrays
Arrays類位於 java.util 包中,主要包含了操縱數組的各種方法。
常用函數(靜態的)
void Arrays.sort()
void Array.sort(Object[] array)
對數組升序排序
int[] nums = {2,5,0,4,6,-10}; Arrays.sort(nums); for(int i : nums) System.out.print(i+" "); /* 之前:2 5 0 4 6 -10 * 結果:-10 0 2 4 5 6 */
void Arrays.sort(Object[] array, int from, int to)
對數組元素指定范圍進行排序(排序范圍是從元素下標為from,到下標為to-1的元素進行排序)
int[] nums = {2, 5, 0, 4, 1, -10}; //對前四位元素進行排序 Arrays.sort(nums, 0, 4); for (int i : nums) System.out.print(i + " "); /* 之前:2 5 0 4 1 -10 * 結果:0 2 4 5 1 -10 */
Arrays.fill(Object[] array,Object object)
為數組元素填充相同的值。
int[] nums = {2, 5, 0, 4, 1, -10}; Arrays.fill(nums, 1); for (int i : nums) System.out.print(i + " "); /* 之前:2 5 0 4 1 -10 * 結果:1 1 1 1 1 1 */
Arrays.fill(Object[] array,int from,int to,Object object)
對數組的部分元素填充一個值,從起始位置到結束位置,取頭不取尾
int[] nums = {2, 5, 0, 4, 1, -10}; //對數組元素下標2到4的元素賦值為3 Arrays.fill(nums, 2, 5, 3); for (int i : nums) System.out.print(i + " "); /* 之前:2 5 0 4 1 -10 * 結果:2 5 3 3 3 -10 */
Arrays.toString(Object[] array)
返回數組的字符串形式
int[] nums = {2, 5, 0, 4, 1, -10}; System.out.println(Arrays.toString(nums)); /* * 結果:[2, 5, 0, 4, 1, -10] */
Arrays.deepToString(Object[][] arrays)
返回多維數組的字符串形式
int[][] nums = {{1, 2}, {3, 4}}; System.out.println(Arrays.deepToString(nums)); /* * 結果:[[1, 2], [3, 4]] */
String
常用函數(靜態的)
String.format()
String.format(String format, Object… args)
新字符串使用本地語言環境,制定字符串格式和參數生成格式化的新字符串。
//測試 public static void main(String[] args) { String str=null; str=String.format("Hi,%s", "王力"); System.out.println(str); str=String.format("Hi,%s:%s.%s", "王南","王力","王張"); System.out.println(str); System.out.printf("字母a的大寫是:%c %n", 'A'); System.out.printf("3>7的結果是:%b %n", 3>7); System.out.printf("100的一半是:%d %n", 100/2); System.out.printf("100的16進制數是:%x %n", 100); System.out.printf("100的8進制數是:%o %n", 100); System.out.printf("50元的書打8.5折扣是:%f 元%n", 50*0.85); System.out.printf("上面價格的16進制數是:%a %n", 50*0.85); System.out.printf("上面價格的指數表示:%e %n", 50*0.85); System.out.printf("上面價格的指數和浮點數結果的長度較短的是:%g %n", 50*0.85); System.out.printf("上面的折扣是%d%% %n", 85); System.out.printf("字母A的散列碼是:%h %n", 'A'); } //結果 Hi,王力 Hi,王南:王力.王張 字母a的大寫是:A 3>7的結果是:false 100的一半是:50 100的16進制數是:64 100的8進制數是:144 50元的書打8.5折扣是:42.500000 元 上面價格的16進制數是:0x1.54p5 上面價格的指數表示:4.250000e+01 上面價格的指數和浮點數結果的長度較短的是:42.5000 上面的折扣是85% 字母A的散列碼是:41
String.join()
String.join()方法是JDK1.8之后新增的一個靜態方法。
有兩個參數:
第一個參數:連接符號。
第二個參數:表示被連接的數組(也可以是集合),或者是要連接的多個字符串。
// 連接數組 String[] arr = new String[]{"1", "2", "3"}; System.out.println(String.join(",", arr)); // 連接集合 List<String> list = new ArrayList(); list.add("test"); list.add("comm"); list.add("group"); System.out.println(String.join("-", list));