数组一直是Java中不可缺少的技术之一,很多容量大的项目都需要数组的支持。最近碰到很多小伙伴问我Java关于如何返回数组的问题,下面小编就来你们来了解一下到底Java中该如何返回数组。
首先来说说什么是数组吧,数组从本质上讲,和顺序表、链表、栈和队列一样,都是用来存储具有 "一对一"
逻辑关系数据的线性存储结构。只是因为各编程语言都默认将数组作为基本数据类型,使一些新手对数组有了 "只是基本数据类型,不是存储结构" 的误解。
数组与其他线性存储结构不同,顺序表、链表、栈和队列存储的都是不可再分的数据元素,数组既可以用来存储不可再分的数据元素,也可以用来存储像顺序表、链表这样的数据结构。
根据数组中存储数据之间逻辑结构的不同,数组可细分为一维数组、二维数组、...、n 维数组:
一维数组:存储不可再分数据元素的数组
二维数组:存储一维数组的一维数组
n 维数组:存储 n-1 维数组的一维数组;
无论数组的维数是多少,数组中的数据类型都必须一致。一维数组结构是线性表的基本表现形式,而 n 维数组可理解为是对线性存储结构的一种扩展。
那么如何以数组形式返回结果呢?请看下例:/**
* 查询结果以数组形式返回
*
* @param sql 查询的sql语句
* @return
*/
public String[][] query(String sql)
{
ConnectionPool pool = ConnectionPool.getInstance(); // 连接池
ResultSet rs = null;
String[][] result = null;
Connection conn = pool.getConnection();
try
{
rs = conn.createStatement()
.executeQuery(sql);
ResultSetMetaData metadata = rs.getMetaData();
int columnCount = metadata.getColumnCount();
rs.last(); //移到最后一行
int length = rs.getRow(); //得到当前行号,也就是记录数
rs.beforeFirst(); //还要
result = new String[length][columnCount];
int index = 0;
while (rs.next())
{
for (int i = 0; i
{
result[index][i] = rs.getString(i + 1);
}
index++;
}
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
closeRs(rs);
pool.release(conn);
}
return result;
}
以上就是本篇文章的所有内容了,有关Java一些知识问答的更多内容,请持续关注本网站了解吧。
更多推荐
java如何返回数组_Java返回数组如何返回?Java入门教程
发布评论