精华内容
下载资源
问答
  • 数组和 List 的转换

    千次阅读 2019-05-06 09:33:19
    如何实现数组和 List 之间的转换数组转 List ,使用 JDK 中 java.util.Arrays 工具类的 asList 方法 public static void testArray2List() { String[] strs = new String[] {"aaa", "bbb", "ccc"}; List<...

    如何实现数组和 List 之间的转换?

    数组转 List ,使用 JDK 中 java.util.Arrays 工具类的 asList 方法

    public static void testArray2List() {
    	String[] strs = new String[] {"aaa", "bbb", "ccc"};
    	List<String> list = Arrays.asList(strs);
    	for (String s : list) {
    		System.out.println(s);
    	}
    }

     

    List 转数组,使用 List 的toArray方法。无参toArray方法返回Object数组,传入初始化长度的数组对象,返回该对象数组

    public static void testList2Array() {
    	List<String> list = Arrays.asList("aaa", "bbb", "ccc");
    	String[] array = list.toArray(new String[list.size()]);
    	for (String s : array) {
    		System.out.println(s);
    	}
    }

     


    【Java面试题与答案】整理推荐

     

    展开全文
  • java中 列表,集合,数组之间的转换

    千次阅读 2018-04-19 01:09:19
    java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换  ListSet都是接口,它们继承Collection(集合),集合里面任何数据类型都可以添加 List是有序的...

    java中 列表,集合,数组之间的转换

    java中 列表,集合,数组之间的转换

    java中 列表,集合,数组之间的转换

     List和Set都是接口,它们继承Collection(集合),集合里面任何数据类型都可以添加

    List是有序的队列,可以用重复的元素;而Set是数学概念中的集合,不能有重复的元素。

    数组 长度固定  可存储任何数据类型       集合 长度可变(包括:list,set)可存储任何数据类型

    列表 list   有序   长度可变   元素可重复     集set  无序   长度可变   元素可重复

     

    将数组转化为一个列表时,程序员们经常这样做: 

    String[] arr = {"a","b","c", "d", "e"}; 

    List<String> list = Arrays.asList(arr);

    Arrays.asList()会返回一个ArrayList对象,ArrayList类是Arrays的一个私有静态类,

    而不是java.util.ArrayList类,java.util.Arrays.ArrayList类有set()、get()、contains()方法,

    但是没有增加元素的方法,所以它的大小是固定的,想要创建一个真正的ArrayList类,

    你应该这样做:

    String[] arr = {"a","b","c", "d", "e"}; 

    ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr));  

    也可以这样做:

    for(int i=0; i<arry.length; i++){
             list.add(arry[i])
    }

    将一个数组列表转换为数组 

    1. String[] stringArray = { "a", "b", "c", "d", "e" };  
    2. ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));  
    3. String[] stringArr = new String[arrayList.size()];  ------------------定义数组必须先定义数组的长度,由于数组长度固定
    4. arrayList.toArray(stringArr);  
    5. for (String s : stringArr)  
    6.     System.out.println(s); 

    List转换为Array也可以这样处理:

    ArrayList<String> list=new ArrayList<String>();

    String[] strings = new String[list.size()]; ------------------定义数组必须先定义数组的长度,由于数组长度固定

    list.toArray(strings);

    反过来,如果要将数组转成List怎么办呢?如下:

    String[] s = {"a","b","c"};
    List list = java.util.
    Arrays.asList(s);

     

    将一个数组转换为集(set) 

    1. Set<String> set = new HashSet<String>(Arrays.asList(stringArray));  
    2. System.out.println(set);  
    3. //[d, e, b, c, a]  

    将一个集(set) 转换为数组

    arry=set.toArry();
    arry=(String[])set.toArry(new String[set.size()]);

     

     

    下面是一段代码显示了 数组,列表,集合之间的转换

    复制代码
    package test;  
    import java.util.ArrayList;  
    import java.util.Arrays;  
    import java.util.HashSet;  
    import java.util.List;  
    import java.util.Set;  
    
    public class Test2 {  
    
        public static void main(String[] args) {    
            List list = new ArrayList();   
            list.add("a");   
            list.add("b");  
            list.add("c");  
            list.add("d");  
     
            // list.add(1);//会产生java.lang.ArrayStoreException异常   
            // 当list中的数据类型都一致时可以将list转化为数组  
      
            Object[] array = list.toArray();   
            System.out.println("从list转换成的对象数组长度为:" + array.length);  
      
            // 在转化为其它类型的数组时需要强制类型转换,并且,要使用带参数的toArray方法,参数为对象数组,  
      
            // 将list中的内容放入参数数组中,当参数数组的长度小于list的元素个数时,会自动扩充数组的长度以适应list的长度  
      
            String[] array1 = (String[]) list.toArray(new String[0]);   
            System.out.println("从list转换成的字符串数组长度为:" + array1.length);  
      
            // 分配一个长度与list的长度相等的字符串数组  
      
            String[] array2 = (String[]) list.toArray(new String[list.size()]);  
            System.out.println("从list转换成的字符串数组长度为:" + array2.length);   
            list.clear();  
      
            // 将数组转换成list  
      
            for (int i = 0; i < array.length; i++) {  
     
                list.add(array[i]);  
      
            }  
      
            System.out.println("将数组转换成list的元素个数为:" + list.size());    
            list.clear();  
      
            // 直接使用Arrays的asList方法  
      
            list = Arrays.asList(array);  
            System.out.println("将数组转换成list的元素个数为:" + list.size());   
            Set set = new HashSet();    
            set.add("a");   
            set.add("b");  
      
            // 将set转换为数组  
      
            array = set.toArray();   
            array1 = (String[]) set.toArray(new String[0]);    
            array2 = (String[]) set.toArray(new String[set.size()]);    
            System.out.println("从Set转换成的对象数组长度为:" + array.length);    
            System.out.println("从Set转换成的字符串数组长度为:" + array2.length);  
      
            // 数组转换成Set  
            // 将数组转换成List后,再用List构造Set  
      
            set = new HashSet(Arrays.asList(array));   
            System.out.println("将数组转换成Set的元素个数为:" + list.size());  
      
            // 将Set清空,然后把数组转换成的list全部add  
      
            set.clear();    
            set.addAll(Arrays.asList(array1));    
            System.out.println("将数组转换成Set的元素个数为:" + list.size());  
      
        }  
      
    }  
    复制代码

     

    展开全文
  • 一维数组转二维数组:Partition 一维数组转二维数组/二维数组变形:ArrayReshape 转一维数组:Flatten 分块矩阵合并:ArrayFlatten 使用方法例: Partition[{a,b,c,d,e,f},2] ArrayReshape[{a,b,c,d,e,f},{2,3...

    一维数组转二维数组:Partition

    一维数组转二维数组/二维数组变形:ArrayReshape

    转一维数组:Flatten

    分块矩阵合并:ArrayFlatten

    使用方法例:

    Partition[{a,b,c,d,e,f},2]
    ArrayReshape[{a,b,c,d,e,f},{2,3}]
    ArrayReshape[{1,2,3,4,5,6,7},{5,3},0]
    Flatten[{{a,b},{c,{d},e},{f,{g,h}}}]
    m={{1,2},{3,4}};
    ArrayFlatten[{{m,m,m},{m,m,m}}]

     

    展开全文
  • js中(伪)类数组和对象转换为数组的方法 一、类(伪)数组对象 类(伪)数组定义: 具有length属性 按索引方式存储数据 没有数组的push()、pop()等方法 判断一个对象是否属于类数组 function ...

    js中(伪)类数组和对象转换为数组的方法

    一、类(伪)数组对象

    • 类(伪)数组定义:
      1. 具有length属性
      2. 按索引方式存储数据
      3. 没有数组的push()、pop()等方法

    • 判断一个对象是否属于类数组
    function isArrayLike(o) {
        if (o &&                                // o is not null, undefined, etc.
            typeof o === 'object' &&            // o is an object
            isFinite(o.length) &&               // o.length is a finite number
            o.length >= 0 &&                    // o.length is non-negative
            o.length===Math.floor(o.length) &&  // o.length is an integer
            o.length < 4294967296)              // o.length < 2^32
            return true;                        // Then o is array-like
        else
            return false;                       // Otherwise it is not
    }
    • 常见的类(伪)数组
      1. function内的arguments对象
      2. getElementsByTagName()、document.childNodes之类的返回的Nodelist对象

    • 类(伪)数组转变成数组的办法

      1. Array.prototype.slice.call( )

    借用了数组原型中的slice方法,返回一个数组。

    var fakeArray01 = {0:'a',1:'b',length:2};//这是一个标准的伪数组对象 
    var arr01 = Array.prototype.slice.call(fakeArray01); 
    alert(arr01[0]);//a 
    var arr02 = [].slice.call(fakeArray01); 
    alert(arr02[0]);//a

    通用的转换函数

    var toArray = function(s){  
        try{  
            return Array.prototype.slice.call(s);  
        } catch(e){  
                var arr = [];  
                for(var i = 0,len = s.length; i < len; i++){   
                     arr[i] = s[i];   
                }  
                 return arr;  
        } 
    

    2. Array.from( )\
    Array.from()是ES6中新增的方法,可以将两类对象转为真正的数组:类数组对象和可遍历(iterable)对象(包括ES6新增的数据结构Set和Map)。

    var arrayLike = {
        '0':'a',
        '1':'b',
        '2':'c',
        length:3
    };
    var arr = Array.from(arrayLike);//['a','b','c']
    //把NodeList对象转换为数组,然后使用数组的forEach方法
    var ps = document.querySelectorAll('p');
    Array.from(ps).forEach(p){
        console.log(p);
    });                             
    //转换arguments对象为数组
    function foo(){
        var args = Array.from(arguments);
        //...
    }
    //只要是部署了Iterator接口的数据结构,Array.from都能将其转换为数组
    Array.from('hello');            //['h','e','l','l','o']

    3. 扩展运算符(…)\
    同样是ES6中新增的内容,扩展运算符(…)也可以将某些数据结构转为数组

    //arguments对象的转换
    function foo(){
        var args = [...arguments];
    }
    //NodeList对象的转换
    [...document.querySelectorAll('p')]

    二、对象转换为数组

    • for-in 语句
    var arr = []
    for (var i in object) {
        arr.push(object[i]); //属性
        //arr.push(object[i]); //值
    }
    console.log(arr);
    • ==一个想法==

    把对象转换成类数组形式,然后调用Array.prototype.slice.call()

    var  objToArray = functionobj){
        var lens = 0;
        for(var i in obj){
                lens++;
            }
        obj.length = lens;
        var arr = Array.prototype.slice.call(obj);
        return arr;
    }
    
    展开全文
  • 基本数据类型数组转换列表缺陷:开发过程中经常会使用Arrays Collections这两个工具类在数组列表之间转换,非常方便,但是有时候也会出现一些奇怪的问题。
  • 文件byte数组之间相互转换

    千次阅读 2018-10-09 15:19:53
    文件byte数组之间相互转换 文件转换成byte数组 文件转换成byte数组有两种方式: 1. 传统方式 File file = new File(&quot;/temp/abc.txt&quot;); //init array with file length byte[] bytesArray ...
  • 在Swift中有时候难免会使用到OC中的一些东西,今天我们就来Swift中使用NSArrayArray,并且进行转化。 (1)声明一个Array数组,并进行遍历,代码如下: let stringArray: Array = ["10", "20","30","40","50"]
  • 数组和List相互转换

    千次阅读 2019-07-10 14:19:44
    转换数组为List 1、 使用java.util.Arrays工具类中的asList()方法(这个不是Java8中新增的内容): String[] arrays = new String[]{"a", "b", "c"}; List<...注意: 将数组转换List后,不能对L...
  • python:数组和列表相互转化

    千次阅读 2020-12-21 20:20:38
    python:数组和列表相互转化 数组转化为列表:b=array.tolist() (把数组array转化为列表b) 列表转化为数组:a=np.array(list) (把列表lis转化为数组a) 具体代码如下: import numpy as np #1.随机生成一个数组a...
  • numpy列表数组的相互转换

    万次阅读 2019-05-26 18:47:41
    列表转数组 1、转成数组的matrix对象,使用np.mat()方法。 In [1]: a = [[2,3,4],[4,7,1]] ...
  • JAVA中String与int转换,list与数组转换,char数组与String转换 package Al2014; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class demo2 { public static void ...
  • Java数组 强制类型转换

    千次阅读 2020-07-15 20:18:30
    数组的强制类型转换数组的强制类型转换数组类型转换的问题为什么会出现在我脑海中? 数组的强制类型转换 最重要的是!!!最开始的时候声明的数组类型!!! 最重要的是!!!最开始的时候声明的数组类型!!! 最...
  • openCV图像矩阵Mat二维数组的互相转换; 目的; 代码; 阅读之前注意: 本文阅读建议用时:9min
  • 整型int字节数组byte相互转换

    千次阅读 2017-06-21 00:25:23
    我们都知道,在socket传输中,发送、者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形int转换成byte数组,同时如何把一个长度为4的byte数组转换为int类型,分别上传Java版本代码kotlin版本...
  • java中的 stringchar数组的相互转换

    万次阅读 2019-07-02 16:34:46
    String转char数组 这个要看你的具体需求了.如果是有分隔符的那种例如"a,b,c";就直接分割就行了. String string = "a,b,c"; String [] stringArr= string.split(","); //注意分隔符是需要转译滴... 如果是"abc...
  • 使用 java nio 进行 float 数组与 ...float数组转换为byte数组 public static byte[] floatArrayToByteArray(float[] floats) { ByteBuffer buffer = ByteBuffer.allocate(4 * floats.length); FloatBuffer floa...
  • #include #include using namespace std; void convertUnCharToStr(char* str, unsigned char* UnChar, int ucLen) { int i = 0;... //格式化输str,每unsigned char 转换字符占两位置%x写输%X写输
  • python矩阵array数组之间的转换

    万次阅读 2018-07-31 10:41:21
    array数组转换成矩阵(matrix)数据类型才能进行一系列的线性运算。matrix类型也有时候要转换成array数组。 代码: 1.array转matrix:用mat() a = arange(3*2).reshape(3,2) print('array类型:') print(type...
  • 字符串与整型数组的相互转换

    千次阅读 2015-09-24 17:07:07
    字符串与整型数组的相互转换
  • 数组指针强制转换为结构体指针

    千次阅读 2019-06-28 10:03:36
    前两天在看TI官方提供的BasicRF的源码时,发现一个看不懂的地方,就是将一个数组名强制转换为结构体指针,如下所示。 在上面的图片中,basicRfPktHdr_t是一个结构体,rxMpdu是一个长度为128个字节的数组...
  • //整形转换成字节 func IntToBytes(n int,b byte) ([]byte,error) { switch b { case 1: tmp := int8(n) bytesBuffer := bytes.NewBuffer([]byte{}) binary.Write(bytesBuffer, binary.BigEndian, &tmp) ...
  • python中 list 与数组的互相转换

    万次阅读 2018-02-28 23:29:01
    python中 list 与数组的互相转换(1)list转array np.array(a)(2)array 转list a.tolist()
  • python实现矩阵array数组之间的转换

    千次阅读 2020-03-27 23:51:54
    array数组转换成矩阵(matrix)数据类型才能进行一系列的线性运算。matrix类型也有时候要转换成array数组。 代码: 1.array转matrix:用mat() a = arange(3*2).reshape(3,2) print('array类型:') print(type(a)) ...
  • 数组字符串转换成JSONArray

    千次阅读 2019-11-04 15:19:43
    使用FastJson将JSON格式数组字符串转换成JSON数组对象。 在项目进行中,数据库中一个字段需要存储多条数据,所以率先考虑到JSON数组格式的数据,但是在处理中出现无法转成JSON,一直处于报错状态,考虑将实体类中的...
  • Java8数组和List相互转换

    万次阅读 2016-11-28 15:00:11
    使用Java 1.8中的循环转换数组为List,代码: private List arrayToList(T[] objects) { return Stream.of(objects).map(object -> { return object; }).collect(Collectors.toList()); }
  • 字符串转换为数字,字符串与字符数组的相互转换
  • 设一维数组下标为index,二维数组长度为m * n,则: 一维数组转换为二维数组 row = index / n col = index % n 二维数组转换为一维数组 index = col + row * n
  • 容器和数组 数组和容器之间转换

    千次阅读 2012-06-07 12:19:06
    容器转成数组:List.toArray() 数组转换成容器:Arrays.asList[]

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,087,774
精华内容 435,109
关键字:

数组和列表的转换