一维 数组

来源:互联网 发布:java 读取tar.gz 编辑:程序博客网 时间:2024/06/05 22:46

 1.定义:数组是用来存储数据的集合,--》是一个存储具有相同类型的变量的集合

   声明数组变量:元素类型[ ]  数组引用变量;

   声明一个数组变量时,并不在内存中给数组分配任何空间。只是创建一个对数组的引用的存储位置。如果变量不包含对数组的引用,那么这个变量的值为null。除非数组已经被创建,否则不能给它分配任何元素。

   eg:double [ ]  myList = new double[10];

   数组大小:myList.length 

   2.处理数组

处理数组时,经常会用到for循环,原因有二:

1)数组中所有元素都是同一类型的,可以使用循环以同样的方式反复处理这些元素。

2)由于数组的大小是已知的,所以很自然就使用for循环。

对于char型的数组,可以使用一条打印语句打印。

for-each循环:(for each loop):不使用下标变量就可以顺序地遍历整个数组。

   3.数组的复制。

在java中,可以使用赋值语句复制基本数据类型的变量,但不能复制数组。将一个数组变量赋值给另外一个数组变量,实际上是将一个数组的引用复制给另一个变量,使两个变量都指向相同的内存单元。

  • 复制数组有三种方法:

使用循环语句逐个复制数组的元素。

使用system类中的静态方法arraycopy。

使用clone方法复制数组。

arraycope方法并没有给目标数组分配内存空间。复制前必须创建目标数组以及给他分配内存空间。复制完成后,sourceArray和targetArray具有相同的内容,但占有独立的内存空间。

  • 对于基本数据类型参数,传递的是实参的值。

对于数组类型参数,参数值是数组的引用,给方法传递的是这个引用。从语义上讲,最好的描述就是参数传递的共享信息,即方法中的数组和传递的数组是一样的,所以,如果改变方法中的数组,将会看到方法外的数组也变化了。

JVM将数组存放在一个称为堆(heap)的内存区域中,堆用于动态内存分配,在堆中内存块可以按随意的顺序分配和释放。

4.可变长参数列表

任何常规参数必须在它之前。java将可变长参数当成数组。可以将一个数组或可变的参数个数传递给可变长参数。当用可变的参数个数调用方法时,java会自动创建一个数组并把参数传给它。

5.线性查找法适用于在小数组或没有排序的数组中查找,但是对大数组而言效率不高。二分查找法的效率较高,但它要求数组已经排好序。

6.Array类

适用sort方法对整个数组或部分数组进行排序。

二分查找法在数组中查找关键字(BinarySearch)

equals方法检测两个数组是否相等。

可以使用fill方法填充整个数组或部分数组。 

0 0
原创粉丝点击