List转换为String[],int[],等等,下面以String为例
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* 数组与Collection之间的转换
*/
public class ArrayCollection {
public static void main(String[] args) {
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
//当List中的数据类型都一致时,可以将list转化成数组
//转化成对象数组时,直接调用toArray方法
Object[] objArray = list.toArray();
System.out.println("从list转化成的对象数组的长度为: " + objArray.length);
//在转化成其他类型的数组时,需要强制类型转换,并且,要使用带参数的toArray方法。
//toArray方法的参数为一个对象数组,将list中的内容放入参数数组中
//当参数数组的长度小于list的元素个数时,会自动扩充数组的长度以适应list的长度
String[] strArray1 = (String[])list.toArray(new String[0]);
System.out.println("从list转化成的字符串数组的长度为: " + strArray1.length);
//分配一个长度与list的长度相等的字符串数组。
String[] strArray2 = (String[])list.toArray(new String[list.size()]);
System.out.println("从list转化成的字符串数组的长度为: " + strArray2.length);
list.clear();//清空List
//将数组转化成List
//逐个添加到List
for (int i=0; i<objArray.length; i++){
list.add(objArray[i]);
}
System.out.println("从数组转化成的list的元素个数: " + objArray.length);
list.clear();//清空List
//直接使用Arrays类的asList方法
list = Arrays.asList(objArray);
System.out.println("从数组转化成的list的元素个数: " + objArray.length);
Set set = new HashSet();
set.add("aaa");
set.add("bbb");
//Set转化成数组
objArray = set.toArray();
strArray1 = (String[])set.toArray(new String[0]);
strArray2 = (String[])set.toArray(new String[set.size()]);
//数组转换成Set
//将数组转换成List后,再用List构造Set
set = new HashSet(Arrays.asList(objArray));
//将Set清空,然后把数组转换成的List全部add
set.clear();
set.addAll(Arrays.asList(strArray1));
}
}
结果:
从list转化成的对象数组的长度为: 4
从list转化成的字符串数组的长度为: 4
从list转化成的字符串数组的长度为: 4
从数组转化成的list的元素个数: 4
从数组转化成的list的元素个数: 4
以上内容转自:
http://m.oschina.net/blog/28470
阅读博客
分享到:
相关推荐
最近正在学习Java,也买了很多的有关Java方面的书籍,其中发现《跟我学Java》这本书,都的很不错啊,所以顺便拿电脑把这本书的目录敲了下来,与大家分享。尤其是那些和我一样初学Java的朋友们,看看哪一节对你有用,...
Java集合框架包括List(如ArrayList、LinkedList)、Set(如HashSet、TreeSet)和Map(如HashMap、TreeMap),提供存储和操作对象的容器,是处理对象数组的重要工具。 七、多线程 Java内置了对多线程的支持,可以...
第1章 Java概述 1 1.1 Java语言的发展简史 2 1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6...
本实验报告主要涵盖了Java语言中的一些基础数据结构和容器的使用,包括数组、字符串、向量(ArrayList)以及哈希表(HashMap)。通过一系列的编程任务,学生可以深入理解这些概念及其在实际编程中的应用。 **一、...
- **集合和数组的比较**:集合是动态调整大小的容器,更加灵活;数组是固定大小的数据结构。 - **`Collection`和`Collections`的区别**: - `Collection`:接口,集合类的顶级接口。 - `Collections`:工具类,...
- **字符串与字符、字节数组**:可以将字符串转换为字符数组或字节数组。 #### 第六章:时间、日期和数字 - **6.1 Date类** 提供了表示日期和时间的功能。 - **6.2 Calendar类** 更高级的时间和日期处理类。...
例如,将数学表达式`a * b + c / d - e`转化为Java表达式: ```java int a = 5, b = 10, c = 20, d = 4, e = 2; int result = a * b + c / d - e; // 结果为 48 ``` #### 2.4 给定表达式求变量值 假设`a`初始值为...
- **题目解析**:考查Java中基本数据类型的声明与赋值规则。 - **答案解析**:选项D中`int i = 10`是正确的声明与赋值方式。 - **相关知识点**: - `float`类型变量在声明时若赋予小数,该小数后面必须跟上`f`或`...
- 字符串与字节数组之间的转换。 #### 六、时间、日期和数字 - **6.1 DATA 类** - Date类表示特定的瞬间,精确到毫秒。 - 使用Date类获取当前时间、格式化日期等。 - **6.2 CALENDAR 类** - Calendar类提供了...
编写.java源文件,使用`javac`编译器将.java文件转化为.class字节码文件,然后使用`java`命令运行.class文件。 3. **jad反编译工具**: JAD是一个反编译器,可以将Java字节码反编译回大致的源代码形式。在DOS...
7. **序列化**:Java序列化是将对象转化为字节流的过程,以便于存储或在网络上传输。实现序列化的类需实现`Serializable`接口。 8. **多态**:Java中实现多态的条件是子类继承父类或实现父接口,并且重写父类的方法...
14. **编译与运行**:Java源代码(.java文件)需要通过javac编译器转化为字节码(.class文件),然后通过Java虚拟机(JVM)运行。理解这个过程有助于调试和优化代码。 通过这个“最基础Java入门”教程,你将能够...
以上是Java笔试题的相关知识点解析,涵盖了常量定义、异常处理、字符串比较、数组操作、数据类型、容器管理、线程、面向对象特性、运算符区别以及类和接口的使用等多个方面。这些知识点对于理解和掌握Java编程至关...
16. **数组与集合**:数组是一种存储固定大小的同类型元素的容器,而集合是一种存储可变数量元素的容器。数组的长度是固定的,而集合的大小可以动态扩展。 17. **实例初始化顺序**: - 默认构造函数调用父类默认...
Java程序的执行流程如下:源代码(.java)经过编译器(javac)转化为字节码(.class),然后由JVM运行这些字节码。Java开发工具包(JDK)包含了进行Java开发所需的一切,包括JRE(Java运行时环境),用于运行Java...
第五章主要讨论了一维数组的创建和使用,数组作为存储一组相同类型数据的容器,在Java中扮演重要角色。此外,字符串是处理文本数据的关键,其定义、赋值和常用方法需要熟练掌握。了解如`Math`、`System`、`...
- Java程序首先通过编译器转化为字节码(.class文件),然后由Java虚拟机(JVM)解释执行,实现了“一次编写,到处运行”的理念。 1. **JAVA目录**: - 描述了Java开发的典型目录结构,如src目录存放源代码,bin...