数组

数组

 

数组对于每一门编程语言来说都是最重要的数据结构之一,当然不同语言对数组的实现以及处理也不尽相同.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,接着创建了一个包含10double类型元素的数组,并且把它的引用赋值给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中的循环不止有forwhile,还有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,发现:数组在声明的时候已经在内存中创建了一定的空间,所以如果想对数组进行增加或者删除是不行的,只能通过另外一个数组来进行增加和删除.但是如果使用了其他的存储数据的集合,是有方法实现增减的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值