如果你做过很多Java程序,你可能对Java集合类很熟悉,例如Vector和ArrayList。你可以创建一个集合并向其中增加元素:
able width="400" border="1" cellspacing="0" cellpadding="2" bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center">

在这个特殊的范例中,一个整型值37用于构造一个Integer封装类对象,然后那个对象被加入到列表。
这个简单的范例展示集合的一个基础-他们用于操纵一列对象,其中的每个对象是一个类或者接口类型。因此,一个ArrayList可以包含Object,String,Float以及Runnable类型的对象。集合类不能用于原始数据类型的列表,例如整型数组。
如果你在你的程序中使用原始类型的数组,你如何操纵它们呢?这个技巧就给你展示几个你可以使用的技术。
第一个技术是排序。Java.util.Arrays类包含一套排序和查找数组的类方法,例如:

这个演示程序初始化一个整数数组然后调用Arrays.sort升序排序那个数组。类似的,你可以在排完序的数组上进行二分法查找:

这个程序有个微妙的概念,如果二分法查找失败它将返回:

这个演示程序以参数35调用查找方法,而那个参数在数组中不存在,方法返回值-4,如果这个值加一再取其负数就得到3,这就是35应该被插入到数组中的位置,换言之,值-5, 19和23在数组中占据的位置是0,1和2。因此值35应该在索引3的位置,而37, 47以及56顺延。搜索方法并不进行实际的插入操作而只是指出应该在何处插入。