排序或者查找数组里面的内容
多值传递
集合转数组
数组转集合
数组转字符串
/*
Arrays 是用于操作数组的工具类,里面全是静态的,和Collections是用来操作集合的工具类是不一样的
当import导入的没有说明static,那么就说明是导入包中的所有类,
如果说明是static的时候就说明导入的是某个类的所有静态成员,记得要加上static的说明符号。
import static java.lang.System.*;
*/
import java.util.*;
public class anli
{
public static void main (String[] args)
{
//tostringdemo(); //把数组转化为字符串
//alistdemo(); //把数组转换为集合
//toarraydemo(); //集合转化为数组 Collections里面的方法
//kebiancanshu(2,1,4,5,6,3,8); //可变参数的设置。
//oftenuse(); //有和collections一样的常用操作,只不过这个操作的对象是数组。。。
}
public static void oftenuse()
{
int[] arr = {2,5,1,3,8,6,4,7,9,0};
Arrays.sort(arr);
sop(Arrays.toString(arr));
sop(Arrays.binarySearch(arr,5));
sop(Arrays.binarySearch(arr,10)); //数据不存在时,返回(-位置-1),这里返回的是-11
}
//多值传递
public static void kebiancanshu(int... arr) //也可以在主函数中把数据存在数组
{ //然后把数组传递过来,只是比较麻烦。
for(int num : arr) //如果有其他参数传递进来,一定要放在可变参数的前面
{
sop(num);
}
}
//集合转数组
public static void toarraydemo()
{
List list = new ArrayList();
list.add("fafda");
list.add("sdfa");
list.add("gdas");
list.add("fgrg");
String[] arr = list.toArray(new String[list.size()]);//toArrray的参数传递方式
sop(Arrays.toString(arr));
for(String term : arr) //高级版for循环。。。缺点就是只能取数据,不灵活。。。
{
sop(term);
}
}
//数组转集合
public static void alistdemo()
{ //由数组转化而成的集合是不可以进行增删的,因为数组的长度是固定不变的。
String [] arr = {"sfa","dsagg","ghg","trytrh"};
List list = new ArrayList();
list = Arrays.asList(arr);
sop(list);
Integer [] arrs = {1,2,3}; //Integer和int是不一样的,一个是对象,一个是基本数据类型
List intlist = new ArrayList(); //List是不可以传递int等基本数据类型的作为泛型的
intlist = Arrays.asList(arrs);
sop(intlist);
int [] intarr = {1,2,3};
List ilist = new ArrayList(); //可以传递 int[] 等数据类型。
ilist = Arrays.asList(intarr);//只有对象才会按数据传递,如果是基本数据类型就把整个数组当做一个集合元素
sop(ilist); //这里输出的是 intarr(也就是第一个集合元素) 的哈希值。
}
//数组转字符串
public static void tostringdemo()
{
int [] arr = {2,3,4};
String str = Arrays.toString(arr);
sop(str);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}