JavaSE——Arrays相关
package com.zhao.arraydemo;
import java.util.Arrays;
public class ArrayDemo1 {
public static void main(String[] args) {
int[] arr={10,2,55,23,24,100};
//System.out.println(arr);
//1.Arrays中的toString(数组)返回数组内容的字符串
String rs= Arrays.toString(arr);
System.out.println(rs);//-->[10, 2, 55, 23, 24, 100]
//2.排序sort
//默认是升序排序
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
//-->[2, 10, 23, 24, 55, 100]
//3.二分查找binarySearch(数组,数据)
//必须要在排序后进行,否则会出BUG
//如果找到了,返回该数据在数组中的索引
int index1=Arrays.binarySearch(arr,55);
System.out.println(index1);//-->4(表示升序情况下55在第五位)
//如果没找到,则会返回该数据如果存在情况下所在的索引的负数并再-1
/* 如果查找的数据是0,此时数组中没有0这个数据,并且小于所有数据,如果直接返回-0那还是0,
会让人误解为是存在于0索引,所以要在返回负数索引的前提下再-1*/
int index2=Arrays.binarySearch(arr,555);
System.out.println(index2);//-->-7
System.out.println(Arrays.toString(arr));
//-->[2, 10, 23, 24, 55, 100]数组没有变
//4.copyOfRange拷贝数组(拷贝对象,开始索引,结束索引)
//包头不包尾,包左不包右
int[] newArr=Arrays.copyOfRange(arr,2,5);
System.out.println(Arrays.toString(newArr));
//-->arr:[2,10,23,24,55,100]
//-->newArr:[23,24,55]
//5.fill填充数组(填充对象数组,填充值)
System.out.println(Arrays.toString(arr));
//-->[2, 10, 23, 24, 55, 100]
Arrays.fill(arr,100);
System.out.println(Arrays.toString(arr));
//-->[100,100,100,100,100,100]
}
}
package com.zhao.arraydemo;
import java.util.Arrays;
import java.util.Comparator;
public class ArrayDemo2 {
public static void main(String[] args) {
Integer[] arr={1,15,2,44,0,5,9};
//sort(数组,排序规则)
//只能给引用数据类型进行排序,如果是基本数据类型的,需要变成其对应的包装类
Arrays.sort(arr, new Comparator<Integer>() {
@Override
/*第二个参数是一个接口,因为接口不能实例化,但是单独为这个接口
写一个实现类又太浪费,所以采用匿名内部类的形式对象化这个接口的实现类
*/
public int compare(Integer o1, Integer o2) {
//返回正数,则表示规则:要插入的元素是大的,要放在后面,则是降序排序
//返回负数,则表示规则:要插入的元素是小的,要放在前面,则是升序排序
//其底层是插入排序与二分查找的方式进行排序的
//默认数组的第一个元素为有序元素o2
//底层循环遍历到后面的每一个元素o1,并将其与o2进行相比较
return o2-o1;
}
});
System.out.println(Arrays.toString(arr));
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!