Java可变长度的数组是一种特殊的数组,它允许在运行时动态地增加或减少其大小。它是一种特殊的数组,它可以根据需要自动扩展或收缩大小。
Java可变长度的数组有很多优势,例如:
Java中使用ArrayList来表示可变长度的数组。ArrayList是一个泛型集合,由ArrayList<E>表示,其中E是泛型元素的标识。ArrayList<E>包含了一些常用方法来对集合进行操作:add()、remove()、get()、set()、size()、clear() 等方法。
// 声明 ArrayList 对象
ArrayList<String> list = new ArrayList<String>();
// 添加元素
list.add("Hello");
list.add("World");
// 获得元素
String str = list.get(0); // str = "Hello"
// 获得集合大小
int size = list.size(); // size = 2
Java数组不能增长。为了创建一个可扩展的数组,我们可以使用ArrayList或Vector。
ArrayList和Vector类的工作方式相同,只是Vector类中的方法是同步的,而ArrayList中的方法不同步。
ArrayList类仅适用于对象,不适用于原始数据类型。
ArrayList类是一个通用类,它将其元素的类型作为type参数。
要使用原始值,请声明一个包装类的ArrayList。例如,使用ArrayList <Integer>来处理int元素。
以下代码片段说明了ArrayList类的使用:
import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList<Integer> ids = new ArrayList<>(); int total = ids.size(); // total will be zero System.out.println("ArrayList size is " + total); System.out.println("ArrayList elements are " + ids); ids.add(new Integer(10)); // Adding an Integer object. ids.add(20); // Autoboxing ids.add(30); // Autoboxing total = ids.size(); // total will be 3 System.out.println("ArrayList size is " + total); System.out.println("ArrayList elements are " + ids); ids.clear(); total = ids.size(); // total will be 0 System.out.println("ArrayList size is " + total); System.out.println("ArrayList elements are " + ids); } }
上面的代码生成以下结果。
像数组一样,ArrayList使用基于零的索引。 ArrayList的第一个元素的索引为零。
以下代码说明了如何使用for循环遍历ArrayList的元素。
import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList<String> namelist = new ArrayList<String>(); // Add some names namelist.add("A"); namelist.add("B"); namelist.add("C"); // Get the count of names in the list int count = namelist.size(); for (int i = 0; i < count; i++) { String name = namelist.get(i); System.out.println(name); } namelist.remove("A"); count = namelist.size(); for (int i = 0; i < count; i++) { String name = namelist.get(i); System.out.println(name); } } }
上面的代码生成以下结果。
ArrayList类有一个名为toArray()的重载方法:
Object[] toArray( ) <T> T[] toArray(T[ ] a)
第一个方法返回ArrayList的元素作为Object的数组。第二种方法将任何类型的数组作为参数。
以下代码显示了如何将ArrayList转换为数组。
import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main(String[] args) { ArrayList<String> al = new ArrayList<String>(); al.add("Java"); al.add("SQL"); al.add("Data"); System.out.println("ArrayList:" + al); String[] s1 = new String[al.size()]; String[] s2 = al.toArray(s1); System.out.println("s1 == s2:" + (s1 == s2)); System.out.println("s1:" + Arrays.toString(s1)); System.out.println("s2:" + Arrays.toString(s2)); s1 = new String[1]; s1[0] = "hello"; // Store hello in first element s2 = al.toArray(s1); System.out.println("s1 == s2:" + (s1 == s2)); System.out.println("s1:" + Arrays.toString(s1)); System.out.println("s2:" + Arrays.toString(s2)); } }
上面的代码生成以下结果。
Java数据类型教程 -Java基本数据类型Java定义了八种基本类型的数据:byte,short,int,long,char,float,double和boolean。基...
Java数据类型教程 -Java long数据类型long数据类型是64位有符号Java原始数据类型。当对整数的计算结果可能超出int数据类型的范围...
Java 实例 -在数组中查找指定元素 Java 实例以下实例演示了如何使用 contains () 方法来查找数组中的指定元素:import java.util...
Java 实例 - 数组并集 Java 实例以下实例演示了如何使用 union ()方法来判断数组是否相等:import java.util.Arrays;import...