JDK内置工具类

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));

 

posted @ 2020-08-07 16:42  codedot  阅读(761)  评论(0编辑  收藏  举报