java 数组与集合(list)相互转化

上代码

package com.core.array2collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Demo {

    public static void main(String[] args) {

        List<Student> stuList = new ArrayList<Student>();
        for(int i = 0 ; i < 5; i ++){
            Student stu = new Student();
            stuList.add(stu);
            stu.setId(i);
            stu.setName("007"+i);
            stu.setAge(10+i);
        }

        Student[] stuArray = stuList.toArray(new Student[stuList.size()]);
        System.out.println(stuArray);

        List<Student> stuList2 = Arrays.asList(stuArray);
        System.out.println(stuList2);

    }

}

总结:

   1.代码中的"Student[] stuArray = stuList.toArray(new Student[stuList.size()]);"为集合转数组

        前提条件为集合stuList != null

   2.代码中的"List<Student> stuList2 = Arrays.asList(stuArray);"为数组转集合

    前提条件为stuArray != null

时间: 2024-08-02 09:20:41

java 数组与集合(list)相互转化的相关文章

Java 数组和集合

一.数组 java.util.Arrays类提供了操作数组的一些方法,如排序.转集合等等 二.集合 三.数组集合的相互转化: 1.数组转集合: String[] arr = {"a", "b", "c"}; List<String> list = Arrays.asList(arr); System.out.println(list); -------------------------------------------------

基础知识——Java数组和集合

数组 ? ? Java中的数组是一个类 ? ? Java中数组作为一个特殊的类,也是不同于C++的一点表现,既然Java中的数组是一个类,那么字符串数组和整型数组的类名是一样的吗?答案是否定的,整型数组的类名是[I,而字符串数组的类名是[Ljava.lang.String. ? ? 存储数组中的元素 ? ? 另外Java中数组操作基本数据类型和引用类型的方式各不相同,在处理基本数据类型的时候,数组保存的是变量的值,未指定时是0,在处理引用类型时,数组保存的是对象的引用,未指定时是null ? ?

java数组与集合

不论是基本数据类型,还是引用数据类型的数据,都可以使用集合的形式对它们进行操作. 数组: 数组在java中是一个特殊类, java中的基本数据类型包括:byte,char,short,int,long,float,double,boolean 8中,其他的都是引用数据类型. 数组创建的时候必须指定一个长度 数组的复制,不能用 = 来直接,因为这样的两个数组指向同一个内存空间,修改一个会对另一个产生影响.可以使用java中的System.arraycopy()来复制,也可以自己用方法遍历. 集合:

Java数组、集合的三种遍历方式(包懂)

1 for循环 for(int i = 0;i<arr.length;i++){ System.out.print(arr[i]+" "); } 2 foreach循环,这种方式结构简单,可以简化代码 for(int i:arr){ System.out.print(arr[i]+" "); } 3 迭代器遍历 对于数组而言,就没必要转换为集合类的数据类型,代码反而冗杂.前面两种对于数组集合均适用 迭代器对List的遍历 List list = new Arr

Java数组、集合

Vector类 类似C#的ArrayList.可扩展的数组,带有一些特定方法 Hashtable类 与C#的类似 Enumeration接口 类似C#的枚举器

java中有关数组或集合的起始位详解

在jdbc连接数据库时,起始位都是从1开始的 例如:Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis", "root", "ms"); String sql="SELECT * FROM users WHERE NAME=?"; pstm=

编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议79~82)

建议79:集合中的哈希码不要重复 在一个列表中查找某值是非常耗费资源的,随机存取的列表是遍历查找,顺序存储的列表是链表查找,或者是Collections的二分法查找,但这都不够快,毕竟都是遍历嘛,最快的还要数以Hash开头的集合(如HashMap.HashSet等类)查找,我们以HashMap为例,看看是如何查找key值的,代码如下: 1 public class Client79 { 2 public static void main(String[] args) { 3 int size =

改善java程序的151个建议--数组和集合

60.性能考虑,数组是首选,在基本类型处理方面,数组还是占优势的,而且集合类的底层也都是通过数组实现,建议在性能要求较高的场景中使用数组替代集合. 61.如果有必要,使用变长数组:我们可以通过对数组扩容"婉转"地解决数组扩容问题,下面采用的是Arrays数组工具类的copyOf方法,产生了一个newLen长度的新数组,并把原有的值拷贝了进去,之后就可以对超长的元素进行赋值了 62.警惕数组的浅拷贝 Person[] p=new Person[5]; Person[] p2=Arrays

Java中数组和集合容器的剖析

java中常用的存储容器就是数组的集合,每种容器存储的形式和结构又有所不同. 数组,是最基础的容器,在创建数组的时候有三种方式分别如下: int[] arr = new int[5]; int[] arr = new String[]{1,2,3,4,5}; int[] arr = {1,2,3,4,5}; 从上面的三种方式可以看出,在定义数组的时候有个共同的特点就是能够直接看出数组的长度,这也是数组的一大特点,就是定义的时候指定长度,同时数组一旦定义完成后长度就不可以变化,这也是数组在后期开发