在编码中,经常会用到两种存储结构之间的转换,而对于存储数据来说,在list和array之间转换也较为频繁,这里整理几种常用方法,但归根到底,还是API里的方法:
1. List转换成Array
List里有两个方法:
Object[] toArray();
<T> T[] toArray(T[] a);
看方法签名也就知道了,两个不同之处就是带有范型的方法具有运行时类型确定的特性,而前一个只能返回Object[],在需要的时候需要强制转换,简单吧!
<T> T[] toArray(T[] a);在转换时,如果a的大小小于list的大小,则会建一个新的数组,否则则用a~
根据API的说法,toArray()和toArray(new Object[0])效果是一样的。
下面来个例子:
public class ListToArray {
public static void main(String[] args) {
ListToArray x = new ListToArray();
List<User> users = new ArrayList<User>();
User user1 = x.new User("zhangsan", 20);
User user2 = x.new User("Lisi", 25);
users.add(user1);
users.add(user2);
User[] userArray = users.toArray(new User[0]);
userArray[0].setName("Modi");
System.out.println(userArray[0]);//Name: Modi; Age: 20
System.out.println(users.get(0));//Name: Modi; Age: 20
List<String> list = new ArrayList<String>();
list.add("fisrt");
list.add("second");
list.toArray();//Object[]
list.toArray(new String[0]);//String[]
String str[] = list.toArray(new String[] {});
String str2[] = new String[1];
list.toArray(str2);
System.err.println(str2[0]);//null
String str3[] = new String[2];
list.toArray(str3);
System.err.println(str3[0]);//first
System.out.println(str.length);
}
public class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Name: " + name + "; Age: " + age;
}
}
}
2. Array转换为List
public static <T> List<T> asList(T... a) ;
给个示例:
public class ArrayToList {
public static void main(String[] args) {
List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
for(String s:stooges) {
System.out.print(s+"\t");
}
System.out.println();
String[] other = new String[5];
for(int i=75;i>72;i--) {
other[75-i]=(char)i+"";
}
List<String> list = Arrays.asList(other);
for(String s:list) {
System.out.print(s+"\t");
}
}
}
分享到:
相关推荐
- **Array转Set**: 你可以先将Array转换为List,然后再转换为Set: ```java String[] array = ...; List<String> list = Arrays.asList(array); Set<String> set = new HashSet(list); ``` 4. **注意事项** ...
Java 中 List、Array、Map、Set 等集合相互转换 在 Java 中,集合类型的转换是非常常见的操作,例如将 List 转换为 Array、将 Array 转换为 List、将 Map 转换为 List 等等。今天,我们将详细介绍 Java 中 List、...
本篇将深入探讨Java中如何实现Array与List之间的相互转换。 一、Array到List的转换 1. 使用Arrays类的asList()方法 Java标准库中的Arrays类提供了一个asList()方法,可以将数组直接转换为ArrayList类型的List。...
本文将详细介绍如何在Java中将List转换为Array,以及Array转换为List。 首先,我们来看如何将List转换为Array。在Java中,List接口提供了一个`toArray(T[] array)`方法,用于将List转换为指定类型的数组。这个方法...
在Java编程中,XML...通过以上步骤,我们可以方便地在Java中实现XML到指定类型List的转换,同时支持多层数据结构的处理。在实际开发中,根据具体需求调整模型类和转换方法,可以灵活应对各种XML数据结构的处理。
接下来,我们将详细介绍如何在Java语言中实现数组与列表之间的相互转换。 ### 数组转列表 #### Java标准库转换方法 Java提供了强大的标准库支持,可以方便地完成数组到列表的转换。具体实现方式如下: ```java ...
在Java编程语言中,经常需要将`List<String>`类型的数据转换为`String[]`数组类型,以便于进行某些特定的操作或适应某些方法的要求。本文将详细探讨这一转换过程,并通过几个具体的示例来帮助理解。 #### 一、基础...
在IT领域,特别是Java编程中,对象数组与JSON之间的转换是一项常见且重要的操作。下面将深入探讨如何在Java中实现对象数组向JSON的转换,并反过来将JSON字符串转换为Java对象数组,同时也会提及一些相关技术和代码...
- **数据丢失**:当从Array转换到Set时,如果Array中有重复元素,Set会自动去除重复,因为Set不允许重复元素。 - **类型安全**:在进行转换时,确保源类型和目标类型匹配,否则可能会出现ClassCastException。 - ...
在实际开发过程中,我们经常会遇到需要将列表(List)中的元素转换为数组(Array)的情况。例如,在处理HTTP请求响应、数据库查询结果或者文件I/O操作时,将数据从一种形式转换为另一种形式是非常常见的需求。`List...
在处理JSON时,我们有时需要将JSON字符串转换为Java中的各种数据类型,如List、Array、Map和自定义对象。本文将详细介绍如何进行这些转换,并提供一个封装好的转换方法和示例。 1. **String to List** JSON字符串...
在Java编程语言中,List接口是集合框架的重要组成部分,它属于Collection接口的子接口。List接口主要用于存储有序的、可重复的元素序列。与Set不同,List允许元素重复,并且保持插入时的顺序。本篇将详细介绍Java中...
AXIS2 中 OMElement 和 Java 对象之间的转换 AXIS2 是一个流行的开源 Web 服务框架,它提供了一个强大的对象模型,称为 AXIOM(AXIs 对象模型),用于提高 XML 处理期间的内存使用率和性能。AXIOM 通过使用 ...
### Java中任何类型转换成JSON数据格式 #### 一、简介 在现代Web开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java应用中,经常会遇到...
Java 数组转换为 List 是 Java 编程中一个常见的操作。List 是 Java 中的一种集合类型,用于存储多个元素,而数组是固定长度的元素集合。将数组转换为 List 可以提供更多的灵活性和便捷性。在本文中,我们将介绍两种...
在 Java 中,将数组转换为 List 是一个常见的操作。下面将详细介绍四种常用的方法,以便更好地理解和应用。 方法 1:使用 Arrays 类的 asList() 方法 使用 Arrays 类的 asList() 方法可以将数组转换为 List。该...
在Java开发中,有时我们需要将数据集合,如List,传递给数据库中的存储过程进行处理。这个过程涉及到Java的JDBC(Java Database Connectivity)操作、集合处理以及与数据库交互的细节。下面将详细讲解如何在Java中...
### JSON字符串与Java对象的转换 #### 一、引言 在现代软件开发尤其是Web应用开发中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式被广泛使用。它基于JavaScript的一个子集,但独立于语言和...
**从Array转换到Collection** 1. **Arrays.asList()**: 这是将数组转换为`List`的最简单方式。例如: ```java String[] array = {"a", "b", "c"}; List<String> list = Arrays.asList(array); ``` 注意,这种...
#### 一、Java与Oracle存储过程的桥梁:集合参数的转换 ##### 数据库对象定义 在Oracle数据库中,为了能够接收和处理来自Java应用程序的集合参数,我们首先需要定义相应的数据库对象类型。这包括定义一个复合对象`...