java中的可变数组
来源:互联网 发布:阻止java跳转页面 编辑:程序博客网 时间:2024/06/06 12:38
本文转自:https://www.w3cschool.cn/java/java-variable-length-arrays.html
Java 可变长度数组
由 lala100 创建,最后一次修改 2017-01-09
Java数据类型教程 - Java可变长度数组
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<Integer>(); 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); }}
上面的代码生成以下结果。
例2
像数组一样,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/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)); }}
上面的代码生成以下结果。
阅读全文
1 0
- java中的可变数组
- OC中的可变数组
- java 可变数组参数
- java实现可变数组
- Java可变长度数组
- 长度可变数组(java)
- Java 可变 数组 可变 参数 实例
- java中的可变参数
- JAVA中的可变参数
- Java中的可变参数
- Java中的可变参数
- Java 中的可变参数
- Java中的可变参数
- java中的可变参数
- java中的可变参数
- Java中的可变参数
- Java中的可变参数
- Java中的可变参数
- struts2 Json超长丢数据( struts2-json-plugin)
- 达内云笔记(一)遇到的问题
- Shuffle过程
- F5-WAF-12.0
- 自编码器及相关变种算法简介
- java中的可变数组
- Android Postfix Completion快速补全插件
- vue中引用轮播图组件
- Android 自定义通知Notification 适配不同背景颜色
- View类的方法inflate和LayoutInflater类的inflate方法
- 反射学习笔记
- hadoop-2.7.4集群部署
- Gson特殊用法
- Android SO文件的兼容和适配