数组
数组对于每一门编程语言来说都是最重要的数据结构之一,当然不同语言对数组的实现以及处理也不尽相同.Java语言中提供的数组是用来存储固定大小的同类型元素.
数组就三个内容:声明,创建,初始化.
首先来说一下声明:
int [] array;//这是首选的方法
int array[];//这种方法的效果相同,但不是首选方法.
实例:
double [] list;//首选的方法
或者
double list[];//这是为了让C程序员能够快速理解Java语言而出现的一种写法.
创建数组
创建数组常见的方式是使用new关键字来创建:
int [] array;
array =new int [10];
上面的语法做了两件事:
1.创建了一个数组
2.把新创建的数组的引用复制给变量array
也可以支持使用这种方式来创建数组:
int [] array={1,2,3,4};
或者
int [] array =new int [数组大小];
实例
首先创建一个数组变量myList,接着创建了一个包含10个double类型元素的数组,并且把它的引用赋值给myList变量.
public class pm {
public static void main(String[] args) {
// 数组大小
int size = 10;
// 定义数组
double[] myList = new double[size];
myList[0] = 5.6;
myList[1] = 4.5;
myList[2] = 3.3;
myList[3] = 13.2;
myList[4] = 4.0;
myList[5] = 34.33;
myList[6] = 34.0;
myList[7] = 45.45;
myList[8] = 99.993;
myList[9] = 11123;
//计算数组中所有元素的和
double total=0;
for(int i =0;i<size;i++)
{
total+=myList[i];
}
System.out.println("总和为: "+total);
}
}
关于数组的下标问题,这里楼主就不多说了啊,比如上例中的数组是10个元素,那么他的下标就是0-9.
接下来讲解一下处理数组
因为数组的元素类型和数组的大小都是确定的,所以当处理数组元素的时候基本使用循环.
java中的循环不止有for和while,还有foreach循环.
示例:
int [] myList={2,6,5,3,4,7,9,8};
for (int i : myList) {
System.out.println(i);
}
数组作为函数的参数
数组可以和其他内置类型一样作为函数的参数.例如:
public static void printArray(int [] array)
{
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]+" ");
}
}
数组作为函数的返回值
public static int [] reverse(int [] list)
{
int [] result=new int[list.length];
for (int i = 0,j=result.length-1; i < result.length; i++,j--) {
result[j]=list[i];
}
return result;
}
Arrays类
java.util.Arrays类能方便的操作数组,他提供的所有方法都是静态的,这个类具有以下功能:
给数组赋值:通过fill方法
给素组排序:通过sort方法
比较数组:通过equals方法比较数组中元素值是否相等.
查找数组元素:通过binarySearch方法能够对排序好的数组进行二分查找法操作.
今天楼主写了几行代码,发现了一个问题,楼主在使用二维数组进行增删改查的时候,发现在删除的时候实在想不出来有什么方法,结果楼主开始google,发现:数组在声明的时候已经在内存中创建了一定的空间,所以如果想对数组进行增加或者删除是不行的,只能通过另外一个数组来进行增加和删除.但是如果使用了其他的存储数据的集合,是有方法实现增减的.