您的位置:首页 > 编程语言 > Java开发

java-数组和arrays类的常用方法

2017-08-02 21:38 211 查看
掌握数组存储及操作数据
掌握Arrays工具类

为什么需要数组

数组是一组变量集合,存储相同数据类型的一组数据
连续的空间



声明一个变量就是在内,存空间划出一块合适的空间
声明一个数组就是在内存空间划出一块连续的空间

数组名,即标识符,连续空间的首地址
元素下标表明了元素在数组中的位置,从0开始
数组中的每个元素都可以通过下标来访问
数组长度固定不变,避免数组越界

使用数组四步走:
1、声明数组 int[] a;

告诉计算机数据类型是什么
int[] score1; int score2[]; String[] name;
2、分配空间 a = new int[5]
告诉计算机分配几个连续的空间
3、赋值 a[0]=8;
像分配的格子里放数据
可以使用边声明边赋方法和循环实现一起赋值
4、处理数据 a[0] = a[0]*10;

边声明边赋值
int[] score=new int[]{

数组的遍历
通过for循环



通过foreach循环



数组下标越界异常(ArrayindexOutBoundsException)

堆内存
堆内存用来存放由new创建的对象和数组
在堆中产生了一个数组或对象后,还可以在栈中定义一个特殊的变量,
让栈中这个变量的取值等于数组或对象在堆内存中的首地址,
栈中的这个变量就成了数组或对象的引用变量。
引用变量就相当于是数组或对象起的一个名称,
以后就可以在程序中使用栈中的引用变量来访问堆中的数组或对象

在堆中产生了一个数组或对象后,

array类
arrats类是JDK提供的专门用于操作数组的工具类,位于java.util包中

arrays类常用方法

boolean equals(array1,array2):比较两个数组是否相等;
void sort(array):对数组array的元素进行升序排列
String toString(array): 该方法将会一个数组array转换成一个字符串
int[] arr1={10,50,40,30};
Arrays.sort(arr1);
System.out.println(Arrays.toString(arr1));
{10,30,40,50}
void fill(array,val):把数组array所有元素赋值为val;
int[] arr1={10,50,40,30};
Arrays.dill(arrl,40);
System.out.println(Arrays.toString(arr1));
{40,40,40,40}
copyof(array,length):把数组array复制成一个长度为length的新数组
int[] arr1={10,50,40,30};
int[] arr2=Arrays.copyOf(arr1,3);
System.out.println(Arrays.toString(arr2));
int[] arr3=Arrays.copyOf(arr1,4);
System.out.println(Arrays.toString(arr3));
int[] arr4=Arrays.copyOf(arr1,6);
System.out.println(Arrays.toString(arr4));
{10,50,40}
{10,50,40,30}
{10,50,40,30,0,0}
int binarySearch(array,val):查询元素值val在数组array中下标
int[] arr1={10,50,40,30);
Arrays.sort(arr1);
int index=Arrays.binarySearch(arr1,30);
System.out.printlm(index);
index=Arrays.binarySearch(arr1,50);
System.out.println(index)
1
3

二位数组
java中定义多维数组的语法:
int[][] scores; //定义二维数组
scores=new int[5][50]; //分配内存空间

s[3][5]==s[0-2][0-4];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: