java中的数组

---------------------------------------- android培训java培训、期待与您交流! ------------------------------------

    数组是JAVA语言的内置数据类型,它是一个线性的序列,所以它可以快速的访问其他的元素(按角标查询,所以说查询速度比较快),但是速度快是有一定代价的,当你创建一个数组之后,它的长度(容量)就固定了,而在当程序运行后是不能改变的。还有一点,java里面的数组是会做边界检查的,所以当你访问越界时,会抛出RunntimeException.      

容器这个词特别好理解,一听就是用来存放东西的,最常见的容器有数组[]和集合,集合说简单点就是数组的升级版,是在数组的基础上加强的。

首先我们谈谈数组:

数组的定义[]方式:

1.int[] arr =new int[5];  //制定数组的大小,也就是容量,arr这个数组可以存储5个int数据

2.int arr[] = {5,2,3};

3.int arr[] = new arr[]{5,3,2};

获取数组的方式arr[0]; 数组的下标是从零开始的

遍历数组的方式:for循环,foreach

for(int i=0;i<arr.length;i++){ for(int i : arr){

System.out.println(arr[i]);System.out.println(i);

}}

还有一些排序算法什么的我会单独列出一篇文章。

我们在这里说一说数组和集合ArrayList的区别:

数组比较高效,保存基本数据类型,长度不可变,大小固定

集合ArrayList动态数组,它的大小是可变的,主要保存对象

数组如果是int[]数组就只能添加int数据,集合ArrayList如果没有添加泛型可以添加各种数据类型

获取数组的中的最大值:

package array;

public class GetArrayMaxValue {
	public static void main(String[] args) {
		int[] arr = { 5, 6, 7, 1, 2 };
		int result = getArrayMaxValue(arr);
		System.out.println(result);
	}

	// 返回的最大值的索引
	public static int getArrayMaxValue(int[] arr) {

		int index = 0;
		for (int i = 0; i < arr.length; i++) {
			if (arr[i] > arr[index]) {
				arr[index] = arr[i];
			}
		}
		return arr[index];
	}
}

查找数组中某个值的索引:

package com.itheima.arr;

public class Test3 {
	public static void main(String[] args) {
		int[]arr={4,5,1};
		System.out.println(getIndex(arr, 6));
	}

	public static int getIndex(int[] arr, int key) {
		int index = 0;
		for (int i = 0; i < arr.length; i++) {
			if (arr[i] == key) {
				index = i;
			}else{
				return -1;
			}
		}
		return index;
	}
}



二维数组:

二维数组的理解,就是由一堆一维数组组成。
package com.itheima.arr;

public class Test2 {
	public static void main(String[] args) {
		// int [][]arr = new int[3][4];//定义了名称为arr的二维数组,这个二维数组中有三个一维数组
		// 每一个一维数组中有4个元素,3是二维数组的长度
		// int[][] arr = new int[3][];
		// arr[0] = new int[4];
		// arr[1] = new int[3];
		// arr[2] =new int[2];
		// System.out.println(arr.length);
		// System.out.println(arr[0].length);
		// 什么时候定义二维数组,比如说公司统计小组销售额,分组
		int sum = 0;
		int[][] arr = { { 3, 5, 1 }, { 2, 3, 6 }, { 2, 3, 4, 5 } };
		//二维数组的遍历和求总和
		for (int i = 0; i < arr.length; i++) {
			for (int j = 0; j < arr[i].length; j++) {
				sum += arr[i][j];
				System.out.print(arr[i][j]);
			}
			System.out.println();
		}
		System.out.println(sum);
	}
}


Java.util包里面有一个Arrays类,它包含了一系统操作数组的static方法,其中最基本的4个方法:用来比较两个数组是否相等的equals();用来填充的fill(); 用来对数组排序的sort();以及用于在一个已经排序的数组中查找元素的binarySearch()。所以这些方法都对primitives和Object进行了重载。此外还有一个asList()方法,它接收一个数组,将数组转换为List容器。

---------------------------------------- android培训java培训、期待与您交流! ------------------------------------


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值