计算Java数组长度函数的方法以及代码分析
Java 中的数组可以包含多个元素,具体取决于对象的创建方式。为了让用户执行不同的操作,必须知道数组的长度。
数组长度属性:如何求出数组的长度?
为了获得 Java 数组长度,我们需要使用“数组长度属性”,如下例所示:
/** * An Example to get the Array Length is Java */ public class ArrayLengthJava { public static void main(String[] args) { String[] myArray = { "I", "Love", "Music" }; int arrayLength = myArray.length; //array length attribute System.out.println("The length of the array is: " + arrayLength); } }
输出
数组的长度为:3
必须注意,Java Array Object没有获取其长度的方法。
很多时候,我们不知道数组对象是如何创建的。对于这样的程序,我们使用一个接收数组并打印长度的函数。
/** * An Example to find the Java Array Length using a function */ public class ArrayLengthJava { private static void printArrayLength(String[] myArray) { if (myArray == null) //to check whether the array is empty or not { System.out.println("The length of the array can't be determined."); } else { int arrayLength = myArray.length; System.out.println("The length of the array is: " + arrayLength); } } public static void main(String[] args) { String[] JavaArray1 = { "I", "Love", "Music" }; String[] JavaArray2 = { "R", "S" }; String[] JavaArray3 = { "1", "2", "3", "4" }; String[] JavaArray4 = { "Java" }; printArrayLength(null); printArrayLength(JavaArray1); printArrayLength(JavaArray2); printArrayLength(JavaArray3); printArrayLength(JavaArray4); } }
输出:
无法确定数组的长度。 数组的长度为:3 数组的长度为:2 数组的长度为:4 数组的长度为:1
必须注意,在访问空对象或 null 对象的长度字段时,会引发 NullPointerException。
在 Java 中使用数组长度搜索值
数组长度有许多有用的属性,可以在编程时使用。在下面的示例中,我们使用数组的长度来遍历所有元素并确定是否存在特定值。
/** * An Example that uses Java Array Length to check if the array contains a * specific value. */ public class ArrayLengthJava { private static boolean arrayContainsValue(String[] myArray, String lookForValue) { if (myArray != null) { int arrayLength = myArray.length; for (int i = 0; i <= arrayLength - 1; i++) { String value = myArray[i]; if (value.equals(lookForValue)) { return true; } } } return false; } public static void main(String[] args) { String[] JavaArray = { "I", "Love", "Music" }; System.out.println(arrayContainsValue(JavaArray, "Love")); System.out.println(arrayContainsValue(JavaArray, "Guitar")); } }
输出:
真的 错误的
上面给出的程序将值输出为真,因为“ Love”存在于数组中,而“吉他”是不存在的元素,因此输出为假。
知识点扩展:
动态改变数组的长度
/** * Reallocates an array with a new size, and copies the contents * * of the old array to the new array. * * @param oldArray the old array, to be reallocated. * * @param newSize the new array size. * * @return A new array with the same contents. * */ private static Object resizeArray (Object oldArray, int newSize) { int oldSize = java.lang.reflect.Array.getLength(oldArray); Class elementType = oldArray.getClass().getComponentType(); Object newArray = java.lang.reflect.Array.newInstance( elementType,newSize); int preserveLength = Math.min(oldSize,newSize); if (preserveLength > 0) System.arraycopy (oldArray,0,newArray,0,preserveLength); return newArray; } // Test routine for resizeArray(). public static void main (String[] args) { int[] a = {1,2,3}; a = (int[])resizeArray(a,5); a[3] = 4; a[4] = 5; for (int i=0; i<a.length; i++) System.out.println (a[i]); }
到此这篇关于计算Java数组长度函数的方法以及代码分析的文章就介绍到这了,更多相关计算Java数组长度函数的方法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
赞 (0)