1. 介绍
A. 类介绍:
此类包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂.
2. 分析
A. 类包结构:java.util.Arrays
B. 关键:类实现数组的排序,搜索等常用方法
3. 方法
3.1 toStriing()方法
该方法用于返回指定数组内容的字符串表示
public class Main {
static class User{
int id;
String name;
public User(int id, String name) {
this.id = id;
this.name = name;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
public static void main(String[] args) throws Exception {
int x[] = {
1, 2, 3, 4, 5};
char y[] = {
'a', 'b', 'c', 'd'};
User z[] = {
new User(1, "张三"), new User(2, "李四")};
System.out.println(Arrays.toString(x));// [1, 2, 3, 4, 5]
System.out.println(Arrays.toString(y));// [a, b, c, d]
System.out.println(Arrays.toString(z));// [User{id=1, name='张三'}, User{id=2, name='李四'}]
}
}
3.2 sort()方法
该方法用于返回指定数组内容进行排序操作
public class Main {
public static void main(String[] args) {
int x[] = {
2, 5, 3, 1, 7, 6};
Arrays.sort(x);
System.out.println(Arrays.toString(x)); // [1, 2, 3, 5, 6, 7]
char y[] = {
'c', 'a', 'b', 'c', 'a', 'b'};
Arrays.sort(y, 0, 3); // 指定区间进行排序 [ left, right) 左闭右开区间
System.out.println(y); // abccab
}
}
自定义指定顺序进行排序
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
Integer x[] = {
2, 5, 3, 1, 7, 6};
Arrays.sort(x, new Comparator<Integer>(){
@Override
public int compare(Integer x, Integer y) {
// 实现comparator接口, 从大到小进行排序
return y - x;
}
});
System.out.println(Arrays.toString(x)); // [7, 6, 5, 3, 2, 1]
Arrays.sort(x, 0, 3, new Comparator<Integer>(){
@Override
public int compare(Integer x, Integer y) {
// 实现comparator接口, 将前3个数字进行从小到大排序
return x - y;
}
});
System.out.println(Arrays.toString(x)); // [5, 6, 7, 3, 2, 1]
}
}
3.3 asList()方法
该方法用于返回固定长度的list列表、
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
// 创建固定长度list列表, 无法对其修改长度使用add等方法
List<User> list = Arrays.asList(new User(1, "张三"), new User(2, "李四"));
System.out.println(list); // [User{id=1, name='张三'}, User{id=2, name='李四'}]
// 创建动态list列表
list = new ArrayList<>(Arrays.asList(new User(1, "张三"), new User(2, "李四")));
list.add(new User(3, "王五")); // [User{id=1, name='张三'}, User{id=2, name='李四'}, User{id=3, name='王五'}]
System.out.println(list);
}
}