https://www.nowcoder.com/tutorial/94/ae05554a3ad84e42b6f9fc4d52859dc4
https://how2j.cn/k/array/array-arrays/516.html
1 数组
1.1 操作
b = copyOfRange(原数组, 起始下标, 终点下标):复制
b = copyOf(原数组, 长度):复制,从0 - 长度
Arrays.toString(a):a 转为字符串的结果,a 不变
Arrays.sort(a): 排序
Arrays.binarySearch(a, 62):搜索
Arrays.equals(a, b):判断是否相同
Arrays.fill(a, 5):用 5 来填充 a
int a[] = new int[] { 18, 62, 68, 82, 65, 9 };
int[] b = Arrays.copyOfRange(a, 0, 3); // 复制
String content = Arrays.toString(a); // 转为字符串
Arrays.sort(a); // 排序
Arrays.binarySearch(a, 62); // 搜索62是不是在a中
Arrays.equals(a, b); // 判断是否相同
Arrays.fill(a, 5); // 用 5 来填充 a
List list2 = Arrays.asList(1, 2);
List<Integer> list2 = Arrays.asList(1, 2);
list2无add方法
asList会调用Arrays中的内部类ArrayList
不是ArrayList,两个不一样
asList 数组作为集合使用
String[] strings = {"1","2","3"};
List<String> list = Arrays.asList(strings);
strings list 指向同一个数据源
list.set(0, "5");
strings[1] ="6"
System.out.println(list); 5 6 3
String[] strings = {"1","2","3"};
List<String> list = new ArrayList<>(Arrays.asList(strings));
list.set(0, "5");
strings[1] ="6"
System.out.println(list); 5 2 3
asList:
ArrayList(E[] array) {
a = Objects.requireNonNull(array);
}
requireNonNull 检查传递给它的对象是否为 null。
如果该对象是 null,则抛出 NullPointerException 异常;
如果对象不是 null,则返回该对象本身
1.2 二维数组排序
定义 5X8 二维数组,用随机数填满,排序
package 第10个程序_数组.a1_随机二维数组排序;
import java.util.Arrays;
public class test {
public int[][] rand(int width, int length){
System.out.println("随机生成二维数组...");
int[][] array = new int[width][length];
for (int i = 0; i < width; i++){
for (int j = 0; j < length; j++){
array[i][j] = (int)(Math.random()*100);
}
}
System.out.println("成功!" + "\n");
print(array);
return array;
}
public void print(int[][] array){
System.out.println("输出二维数组array:");
int width = array.length;
int length = array[0].length;
for (int i = 0; i < width; i++){
for (int j = 0; j < length; j++)
System.out.printf("%-2d ",array[i][j]);
System.out.println();
}
System.out.println();
}
public void sort(int[][] array){
System.out.println("尝试排序...");
int width = array.length;
int length = array[0].length;
int[] temp = new int[width*length];
int c = 0;
for(int i = 0; i < width; i++){
for (int j = 0; j < length; j++){
temp[c] = array[i][j];
c++;
}
}
Arrays.sort(temp);
c = 0;
for(int i = 0; i < width; i++){
for (int j = 0; j < length; j++){
array[i][j] = temp[c];
c++;
}
}
System.out.println("成功!");
print(array);
}
public static void main(String[] args) {
int[][] array;
int width = 5, lengrh = 8;
array = new test().rand(width,lengrh);
new test().sort(array);
}
}
2 读数
Scanner s = new Scanner(System.in);
float a1 = s.nextFloat();
int a2 = s.nextInt();
String a3 = s.nextLine();