首先介绍List的toArray方法,他把list转化成object数组。
List list = new ArrayList();
list.add(new Long(1));list.add(new Long(2));
//Long[] l = (Long[])list.toArray();这里会报错,因为list.toArray()返回的是Object[],不能直接强转成Long型,应该成下面这行
Long [] l = (Long []) list.toArray(new Long[list.size()]);①
① 也可以改成 Object[] o = list.toArray(); for(int i=0;i<o.length;i++){
l[i] = (Long)o[i];
}
把list转换成二维数组,如下:
List list = new ArrayList();
String[] str1 = {"a","1"};
String[] str2 = {"b","2"};
list.add(str1);
list.add(str2);
Object[] s = (Object[])list.toArray();
String[][] aa = new String[s.length][];
int j=0;
for(int i=0;i<s.length;i++){
aa[i] = (String[])s[i];
}
//输出二维数组的值
for(int z=0;z<aa.length;z++){
for(int i=0;i<aa[z].length;i++){
System.out.println(aa[z][i]);
}
}
这里是最简单的情况,List中的每一条是一个String[]数组,但是如果List是从数据库中查出的话,List中的每一条是一个Object[]数组,上述中的aa[i] = (String[])s[i];就会Object数组无法转换成String数组的错误。故不能用list.toArray这种方法,只能一个一个赋值。例:
从SQL语句得到的数据库的数据集存到二维数组里:CODE,NAMES值分别为001,zy这种
String sql = "select CODE,NAMES from sims_dd_dict where pid=92";
效果如:
List list = new ArrayList();
Object[] str1 = {"a","1"};
Object[] str2 = {"b","2"};
list.add(str1);
list.add(str2);
String[][] str = new String[list.size()][];
for(int i=0;i<list.size();i++){
Object[] s = (Object[])list.get(i);
str[i] = new String[s.length];
for(int j=0;j<s.length;j++){
str[i][j] = s[j].toString();
}
}
如果去数据库取结果集用的是jdbcTemplate.queryForList,那么它每一行返回的是Map而非Object[],故需要换一种形式转化成二维数组,如下:
List result = jdbcTemplate.queryForList(sql);
String[][] z = new String[result.size()][];
for(int i=0;i<z.length;i++){
Map m = (Map)result.get(i);
z[i] = new String[2]; //(1)
Set set = m.keySet(); //(3)
Iterator it =set.iterator();
for(int j=0;it.hasNext();j++){
// System.out.println((String)m.get(it.next())); //(2)
z[i][0] = (String)it.next();
z[i][1] = (String)m.get(z[i][0]);
}
}
必须要有(1),如果不设置的话在 z[i][j]=(String)m.get(it.next()); 处会报错,因为最开始初始化时未给第二维定义长度
如果想打印长度的话可以String str=(String)m.get(it.next()); System.out.println(str); z[i][j]=str;
如果用(2)的话会造成每行结果it.next()两次
通过(3)得到Map中所有的键,然后通过m.get(it.next());得到值,放入数组中。
另:如果sql为 select count(*) from A 的话,那么list.get(0)得到的是一个java.math.BigInteger型,需要String.valueOf()转换一下,如果sql为select name from A ,只选一个字段的话,那么每个list.get(i)是一个Object对象,如果选两个字段的话为Object[]数组
分享到:
相关推荐
List(Of T)转换成Array(,)
Java编程一维数组转换成二维数组实例代码 Java编程语言中,数组是一种基本的数据结构,常用于存储和操作大量数据。在实际编程中,我们经常需要将一维数组转换成二维数组,以便于进行矩阵运算或其他数据处理。下面,...
通过vue解析表头合并的表格,后台返回的数据格式为[{name:aa,list:[{value:100}]}] 通过table与v-for组合循环数据达到目的。 vue 表头合并数据解析 vue 二维数组解析 vue 二维list解析 vue table+v-for
例如,使用Gson库,你可以创建一个`Blog`类来表示博客信息,然后将二维数组转换为`List<Blog>`,再使用Gson的`toJson`方法生成JSON字符串: ```java import com.google.gson.Gson; public class Blog { private ...
例如,一个二维数组可以用来表示矩阵。 - **声明与初始化**:在C#中,可以使用逗号分隔的索引来声明和初始化多维数组。例如,`int[,] p = { {1, 2}, {2, 3} };` 这里声明了一个二维整型数组 `p`,并对其进行了初始...
// 转换回二维数组 int[][] restoredMatrix = new int[matrixList.size()][]; for (int i = 0; i (); i++) { restoredMatrix[i] = new int[matrixList.get(i).size()]; for (int j = 0; j (i).size(); j++) { ...
"java 遍历Map及Map转化为二维数组的实例" 在 Java 编程语言中,遍历 Map 及将其转化为二维数组是一种常见的操作。本文将详细介绍如何使用 Java 遍历 Map 及将其转化为二维数组,并提供实例代码以供参考。 1. 使用...
以上介绍了三种不同的方法,用于将 C# 中的维数组转换为 `DataTable`。这些方法涵盖了从简单的单列数据转换到复杂的多列数据转换的各种场景。选择合适的方法取决于具体的应用需求。通过这些方法,我们可以更高效地...
里面的函数有如下: void GetImageParament(CImage *pImg,struct IMAGEPARAMENT *ppImgParam); int InImage(CImage *pImg,int x,int y); DWORD GetPixelValue(CImage *pImg,int x...void Release2DList(BYTE** list);
在Python编程语言中,处理矩阵和数组数据时,有时我们需要将二维矩阵转换成一维数组。这在数据处理、科学计算或机器学习等场景中非常常见。本篇将详细讲解如何将Python中的矩阵转换为一维数组,并通过一个具体的实例...
在Python编程中,有时我们需要将字符串转换为二维数组,特别是在处理数据输入或解析文本文件时。本篇文章将详细讲解如何实现这一过程,并提供一个具体的实例。 首先,我们要明确字符串的结构。假设我们有一个字符串...
2. **创建二维数组**:使用`numpy`的`mat`函数将读取到的数据转换为二维数组。 ```python import os import numpy as np os.chdir("D:\\galaxy\\aliyunsvn\\code\\MLInAction\\dataset") # 切换工作目录 ...
在开发过程中,经常会遇到需要将二维数组转换为一维数组的场景,特别是在处理标签选择、下拉列表等界面元素时。本文将详细介绍几种在Thinkphp框架中将二维数组转换为一维数组的方法,并提供具体的代码实现,以及如何...
如下所示: import numpy ... 您可能感兴趣的文章:python二维列表一维列表的互相转换实例Python的numpy库中将矩阵转换为列表等函数的方法python的dataframe转换为多维矩阵的方法Python嵌套列表转一维的方法(压
接下来,我们讨论如何将三维数组转换为二维数组。有多种方法可以实现这一目标,下面是两种常见的方法: **方法一:使用foreach循环** ```php $result = [ [0 => ['bid' => 41, 'brealname' => 'we教官', 'cid' =>...
总结一下,Python中去除二维数组或二维列表中的重复行,关键在于将行转换为可哈希的结构(元组),利用集合的特性去除重复项,然后再将结果转换回原始的数据结构。这种方法简单高效,适用于大部分情况。不过,需要...
一旦数据被读取并转换为二维列表,我们就可以使用`numpy`的`reshape`函数将其转换为三维数组。这个函数接受一个表示新形状的元组,并返回一个新的数组,其元素按照提供的形状排列。 在数学建模中,将数据存储在三维...