`
jiangshuiy
  • 浏览: 335983 次
  • 性别: 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之间的相互转换

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

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

    主要介绍了java中List、Array、Map、Set等集合相互转换的相关资料,需要的朋友可以参考下

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

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

    Java集合List与Array的相互转换

    本篇文章主要介绍了Java集合List与Array的相互转换,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    StringtoList和StringtoMap和StringtoObject和StringtoArray

    Json格式的字符串转成List、Array、Map、Object、List等,就是各种字符串转其他格式的方法.有个封装好的转换方法和一个我自己做的示例

    测试报告与总结\list,set,map,数组间的相互转换

    测试报告与总结\list,set,map,数组间的相互转换.rar测试报告与总结\list,set,map,数组间的相互转换.rar测试报告与总结\list,set,map,数组间的相互转换.rar测试报告与总结\list,set,map,数组间的相互转换.rar

    详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法

    list以及array是python中经常会用到的数据类型,当需要对list以及array进行文件的读写操作的时候,由于write函数参数需要的是一个str,所以这时就需要对list或者array进行str的转换了。 list和array的不同: 在进行...

    java Object转换为json

    此下载包含 POJO 中使用 json格式传递到页面所需要的包 POJO 中Object/Array/List/Map转换为json格式的语法 PS:下载了可以保证json方面完全没有问题的使用。 thia's all!!!

    Java开发技术大全(500个源代码).

    listFields.java 利用反射机制获取成员属性列表 listMethods.java 利用反射机制获取成员方法列表 loadClass.java 动态装载一个类 Shape.java 一个用于测试的简单类 useArray1.java 用反射机制使用数组示例1 ...

    java面试宝典

    174、JAVA SERVLET API中forward() 与redirect()的区别? 42 178、如何现实servlet的单线程模式 42 179、页面间对象传递的方法 42 180、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 42 181、四种会话...

    超轻量压缩传输js2java rpc框架(XtZPStream v1.0)

    比如Map、List,在javascript中对应为Object和Array 5、友好逐行数据输出并回调:java中可以将List逐行输出到浏览器中, 框架每接收到一条数据,能够自动回调给定的javascript方法, 从而实现数据流的逐行输出; 该...

    php array 转json及java 转换 json数据格式操作示例

    主要介绍了php array 转json及java 转换 json数据格式操作,结合实例形式分析了PHP针对array数组转json以及Java操作Map、List、对象与json格式转换的相关实现技巧,需要的朋友可以参考下

    Json-lib 是一个 Java 类库

    不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表 (hash table),有键列表(keyed list),或者关联数组 (associative array)。 在 Java 语言中,我们可以...

    json的java资源and sample

    json的java类,支持json对象、list、array、map等转换为json字符串。 该压缩包中追加了几个转换为json字符串的示例。

    Java常见面试题208道.docx

    26.如何实现数组和 List 之间的转换? 27.ArrayList 和 Vector 的区别是什么? 28.Array 和 ArrayList 有何区别? 29.在 Queue 中 poll()和 remove()有什么区别? 30.哪些集合类是线程安全的? 31.迭代器 Iterator ...

    Java 最常见的 208 道面试题:第二模块答案

    26. 如何实现数组和 List 之间的转换? 27. ArrayList 和 Vector 的区别是什么? 28. Array 和 ArrayList 有何区别? 29. 在 Queue 中 poll()和 remove()有什么区别? 30. 哪些集合类是线程安全的? 31. 迭代器 ...

    java范例开发大全源代码

     实例13 Java中的进制与移位运算符 22  第3章 条件控制语句(教学视频:75分钟) 26  3.1 if控制语句 26  实例14 判断输入的年份是否为闰年 26  实例15 抽奖活动 27  3.2 for语句 28  实例16 ...

    java范例开发大全

    实例212 List、Set与Array之间的相互转换 375 实例213 二分查找法的实现方法 377 实例214 模拟操作系统的进程调度 379 实例215 利用栈将字符串逆序输出 381 实例216 动态的数组链表 382 实例217 你能猜出鱼是谁的...

    Java范例开发大全 (源程序)

     实例212 List、Set与Array之间的相互转换 375  实例213 二分查找法的实现方法 377  实例214 模拟操作系统的进程调度 379  实例215 利用栈将字符串逆序输出 381  实例216 动态的数组链表 382  实例217 你...

    史上最全java面试,103项重点知识,带目录

    26. 如何实现数组和 List 之间的转换? 11 27. ArrayList 和 Vector 的区别是什么? 11 28. Array 和 ArrayList 有何区别? 12 29. 在 Queue 中 poll()和 remove()有什么区别? 12 30. 哪些集合类是线程安全的? 12 ...

Global site tag (gtag.js) - Google Analytics