将结果集添加到ArrayList
中如果花费了大量时间,可能是由于以下几个原因造成的:
ArrayList
会消耗较多时间。ArrayList
在容量不足时会进行扩容,这个过程涉及到数组的复制,开销较大。ArrayList
时预估所需容量,减少扩容次数。ArrayList
时预估所需容量,减少扩容次数。以下是一个简单的示例,展示如何预估容量并添加结果集到ArrayList
:
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class ResultSetToList {
public static void main(String[] args) {
List<MyObject> list = new ArrayList<>(1000); // 预估容量为1000
try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "user", "password");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM mytable")) {
while (rs.next()) {
MyObject obj = new MyObject(rs.getInt("id"), rs.getString("name"));
list.add(obj);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
class MyObject {
private int id;
private String name;
public MyObject(int id, String name) {
this.id = id;
this.name = name;
}
// Getters and setters
}
通过上述方法,可以有效减少将结果集添加到ArrayList
中的时间消耗。
没有搜到相关的沙龙