- Java数据类型简介
- 原始数据类型
- 包装
- 使用
- 字符串
- 数组
Java可变长度数组
Java数组声明后其长度就固定了,不能增加长度。 要创建一个可扩展的数组可以使用ArrayList
或Vector
。ArrayList
和Vector
类的工作方式都是相同的,只是Vector
类中的方法是同步的,而ArrayList
中的方法不同步。ArrayList
类仅适用于对象,不适用于原始数据类型。
ArrayList
类是一个通用类,它将其元素的类型作为类型参数。要使用原始值,请声明一个包装类 - 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 size is 0 ArrayList elements are [] ArrayList size is 3 ArrayList elements are [10, 20, 30] ArrayList size is 0 ArrayList elements are []
实例-2
像数组一样,ArrayList
使用基于0
的索引。ArrayList
的第一个元素的索引为0
。
以下代码说明了如何使用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); } } }
上面的代码生成以下结果。
A B C B C
将ArrayList/Vector转换为数组
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)); } }
上面的代码生成以下结果。
ArrayList:[Java, SQL, Data] s1 == s2:true s1:[Java, SQL, Data] s2:[Java, SQL, Data] s1 == s2:false s1:[hello] s2:[Java, SQL, Data]
- Java教程
- Vim教程
- Swing教程
- Spring教程
- Spring Web Services教程
- Spring MVC教程
- Spring JDBC教程
- Spring Cloud教程
- Spring Boot教程
- Spring Boot CLI教程
- Spring Batch教程
- Spring AOP教程
- PDFBox教程
- JSP教程
- JSF教程
- JPA教程
- Java面向对象设计
- Java设计模式
- Java虚拟机教程
- Java泛型教程
- Java正则表达式教程
- Java数据类型教程
- Java并发编程教程
- Java密码学教程
- Java多线程教程
- Java国际化(i18n)教程
- JavaFX教程
- Java9教程
扫描二维码
程序员编程王