小又会变小。
在前面的例子中,使用由tostring( )方法提供的默认的转换显示类集的内容,tostring( )方法是从abstractcollection继承下来的。尽管它对简短的例子程序来说是足够了,然而很少使用这种方法去显示实际中的类集的内容。通常编程者会提供自己的输出程序。但在下面的几个例子中,仍将采用由tostring( )方法创建的默认输出。
尽管当对象被存储在arraylist对象中时,其容量会自动增加。仍可以通过调用ensurecapacity( )方法来人工地增加arraylist的容量。如果事先知道将在当前能够容纳的类集中存储许许多多的项时,你可能会想这样做。在开始时,通过一次性地增加它的容量,就能避免后面的再分配。因为再分配是很花时间的,避免不必要的处理可以改善性能。
ensurecapacity( )方法的特征如下所示:
void ensurecapacity(int cap)这里,cap是新的容量。相反地,如果想要减小在arraylist对象之下的数组的大小,以便它有正好容纳当前项的大小,可以调用trimtosize( )方法。该方法说明如下:
void trimtosize( )
从数组列表(arraylist)获得数组(array)当使用arraylist时,有时想要获得一个实际的数组,这个数组包含了列表的内容。正如前面解释的那样,可以通过调用方法toarray( )来实现它。下面是几个为什么可能想将类集转换成为数组的原因:
对于特定的操作,可以获得更快的处理时间。
为了给方法传递数组,而方法不必重载去接收类集。
为了将新的基于类集的程序与不认识类集的老程序集成。
无论何种原因,如下面的例子程序所示,将arraylist转换成数组是一件繁琐的事情。
// convert an arraylist into an array.
import java.util.*;
class arraylisttoarray {
public static void main(string args[]) {
// create an array list
arraylist al = new arraylist();
// add elements to the array list
al.add(new integer(1));
al.add(new integer(2));
al.add(new integer(3));
al.add(new integer(4));
system.out.println("contents of al: " + al);
// get array
object ia[] = al.toarray();
int sum = 0;
// sum the array
or(int i=0; i
闽公网安备 35060202000074号