`
jiangshuiy
  • 浏览: 340020 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java中List与Array的转换

阅读更多

       在编码中,经常会用到两种存储结构之间的转换,而对于存储数据来说,在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");
       }
    }
}
 
分享到:
评论

相关推荐

    java List、Set与Array之间的相互转换

    - **Array转Set**: 你可以先将Array转换为List,然后再转换为Set: ```java String[] array = ...; List&lt;String&gt; list = Arrays.asList(array); Set&lt;String&gt; set = new HashSet(list); ``` 4. **注意事项** ...

    java中List、Array、Map、Set等集合相互转换

    Java 中 List、Array、Map、Set 等集合相互转换 在 Java 中,集合类型的转换是非常常见的操作,例如将 List 转换为 Array、将 Array 转换为 List、将 Map 转换为 List 等等。今天,我们将详细介绍 Java 中 List、...

    详解Java如何在Array和List之间进行转换.rar

    本篇将深入探讨Java中如何实现Array与List之间的相互转换。 一、Array到List的转换 1. 使用Arrays类的asList()方法 Java标准库中的Arrays类提供了一个asList()方法,可以将数组直接转换为ArrayList类型的List。...

    Java集合List与Array的相互转换

    本文将详细介绍如何在Java中将List转换为Array,以及Array转换为List。 首先,我们来看如何将List转换为Array。在Java中,List接口提供了一个`toArray(T[] array)`方法,用于将List转换为指定类型的数组。这个方法...

    java XML转成LIST可以转成指定的类数组

    在Java编程中,XML...通过以上步骤,我们可以方便地在Java中实现XML到指定类型List的转换,同时支持多层数据结构的处理。在实际开发中,根据具体需求调整模型类和转换方法,可以灵活应对各种XML数据结构的处理。

    数组和list相互转换

    接下来,我们将详细介绍如何在Java语言中实现数组与列表之间的相互转换。 ### 数组转列表 #### Java标准库转换方法 Java提供了强大的标准库支持,可以方便地完成数组到列表的转换。具体实现方式如下: ```java ...

    list转换成string数组

    在Java编程语言中,经常需要将`List&lt;String&gt;`类型的数据转换为`String[]`数组类型,以便于进行某些特定的操作或适应某些方法的要求。本文将详细探讨这一转换过程,并通过几个具体的示例来帮助理解。 #### 一、基础...

    java-对象数组转换为json

    在IT领域,特别是Java编程中,对象数组与JSON之间的转换是一项常见且重要的操作。下面将深入探讨如何在Java中实现对象数组向JSON的转换,并反过来将JSON字符串转换为Java对象数组,同时也会提及一些相关技术和代码...

    Java 在 Array 和 Set 之间进行转换的示例.rar

    - **数据丢失**:当从Array转换到Set时,如果Array中有重复元素,Set会自动去除重复,因为Set不允许重复元素。 - **类型安全**:在进行转换时,确保源类型和目标类型匹配,否则可能会出现ClassCastException。 - ...

    List转换成String数组

    在实际开发过程中,我们经常会遇到需要将列表(List)中的元素转换为数组(Array)的情况。例如,在处理HTTP请求响应、数据库查询结果或者文件I/O操作时,将数据从一种形式转换为另一种形式是非常常见的需求。`List...

    StringtoList和StringtoMap和StringtoObject和StringtoArray

    在处理JSON时,我们有时需要将JSON字符串转换为Java中的各种数据类型,如List、Array、Map和自定义对象。本文将详细介绍如何进行这些转换,并提供一个封装好的转换方法和示例。 1. **String to List** JSON字符串...

    java中List的用法和实例详解

    在Java编程语言中,List接口是集合框架的重要组成部分,它属于Collection接口的子接口。List接口主要用于存储有序的、可重复的元素序列。与Set不同,List允许元素重复,并且保持插入时的顺序。本篇将详细介绍Java中...

    AXIS2中OMElement和Java对象之间的转换

    AXIS2 中 OMElement 和 Java 对象之间的转换 AXIS2 是一个流行的开源 Web 服务框架,它提供了一个强大的对象模型,称为 AXIOM(AXIs 对象模型),用于提高 XML 处理期间的内存使用率和性能。AXIOM 通过使用 ...

    java-任何类型转换成json数据格式

    ### Java中任何类型转换成JSON数据格式 #### 一、简介 在现代Web开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java应用中,经常会遇到...

    Java 数组转list.docx

    Java 数组转换为 List 是 Java 编程中一个常见的操作。List 是 Java 中的一种集合类型,用于存储多个元素,而数组是固定长度的元素集合。将数组转换为 List 可以提供更多的灵活性和便捷性。在本文中,我们将介绍两种...

    java 数组转list.docx

    在 Java 中,将数组转换为 List 是一个常见的操作。下面将详细介绍四种常用的方法,以便更好地理解和应用。 方法 1:使用 Arrays 类的 asList() 方法 使用 Arrays 类的 asList() 方法可以将数组转换为 List。该...

    java传list给存储过程,项目提取,不忽悠

    在Java开发中,有时我们需要将数据集合,如List,传递给数据库中的存储过程进行处理。这个过程涉及到Java的JDBC(Java Database Connectivity)操作、集合处理以及与数据库交互的细节。下面将详细讲解如何在Java中...

    JSON 字符串 与 java 对象的转换

    ### JSON字符串与Java对象的转换 #### 一、引言 在现代软件开发尤其是Web应用开发中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式被广泛使用。它基于JavaScript的一个子集,但独立于语言和...

    Array和Collection相互转换以及copy深度的小测

    **从Array转换到Collection** 1. **Arrays.asList()**: 这是将数组转换为`List`的最简单方式。例如: ```java String[] array = {"a", "b", "c"}; List&lt;String&gt; list = Arrays.asList(array); ``` 注意,这种...

    Java调用存储过程--传入集合参数

    #### 一、Java与Oracle存储过程的桥梁:集合参数的转换 ##### 数据库对象定义 在Oracle数据库中,为了能够接收和处理来自Java应用程序的集合参数,我们首先需要定义相应的数据库对象类型。这包括定义一个复合对象`...

Global site tag (gtag.js) - Google Analytics