在JAVA中,想要把一个list中的内容添加至另一个list中,有两种方法:
采用循环的方法。通过循环第一个ArrayList,然后通过每循环一次的方式,将值赋值给另一个ArrayList。具体代码实现如下:
2.采用ArrayList自带的addAll()方法。addAll()方法是通过传入整一个List,将此List中的所有元素加入到新的List中,也就是当前List会增加的元素个数等于传入的List的大小。该方法较为简单,具体代码实现如下:
拓展资料:
1.List.add() 和 List.addAll() 的区别:
(1)List.add() 方法,也是往List 中增加list,但是,它增加的是一个List 实例。如果,往容器中增加的那个List 实例从数据库中查到的结果有5条,不过,如果使用了List.add(list1);程序只会输出一条记录。原因就是上面说的。List.add() 加List 实例,它会把这个看一个实例,而不是把那个看成一个容器。
(2) 例如:List.add(list1),List.add(list2);List.add(list3), 这时,List.size 它的大小是3。
(3)List.add() 的含义就是:你往这个List 中添加对象,它就把自己当初一个对象,你往这个List中添加容器,它就把自己当成一个容器。
(4)List.addAll()方法,就是规定了,自己的这个List 就是容器,往里面增加的List 实例,增加到里面后,都会被看成对象。
(5) 这时:List.add(list1),List.add(list2);List.add(list3), 这时,List.size 它的大小就是所有list 实例化后的总数和总的记录数。
2.集合是Java API所提供的一系列类,可以用于动态存放多个对象。集合与数组的不同在于,集合是大小可变的序列,而且元素类型可以不受限定,只要是引用类型。集合中不能放基本数据类型,但可以放基本数据类型的包装类。 集合类全部支持泛型,是一种数据安全的用法。java列表是集合的一种,并且列表中的元素是有序的,且允许重复。java列表又称为java list。
参考资料:Java List_百度百科。
本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息存储到 List 中。
代码如下:
import java.sql.Connection;。
import java.sql.DriverManager;。
import java.sql.ResultSet;。
import java.sql.SQLException;。
import java.sql.Statement;。
import java.util.ArrayList;。
import java.util.List;。
// 用户类,存储单个用户信息。
class User {
private int id;。
private String name;。
public User(int id, String name) {。
this.id = id;。
this.name = name;。
}
public int getId() {。
return id;
}
public void setId(int id) {。
this.id = id;。
}
public String getName() {。
return name;
}
public void setName(String name) {。
this.name = name;。
}
@Override
public String toString() {。
return "User [id=" + id + ", name=" + name + "]";。
}
public class Demo1 {。
public static void main(String[] args) throws ClassNotFoundException, SQLException {。
// 本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息。
// 放到 List 中
// 加载数据驱动
Class.forName("com.mysql.jdbc.Driver");。
// 数据库连接字符串, 此例数据库为 test。
String url = "jdbc:mysql://localhost:3306/test";。
String user = "root"; // 数据库用户名。
String password = ""; // 数据库密码。
// 打开一个数据连接
Connection conn = DriverManager.getConnection(url, user, password);。
Statement stmt = conn.createStatement();。
// 获取表 tb_users 所有用户信息到结果集中。
ResultSet rs = stmt.executeQuery("SELECT id, name FROM tb_users");。
// 定义一个存放用户信息的 List。
List<User> users = new ArrayList<>();。
// 提取用户信息,并将用户信息放入 List。
while (rs.next()) {。
// 获取用户ID
int id = rs.getInt(1);。
// 获取用户名
String name = rs.getString(2);。
users.add(new User(id, name));。
}
rs.close();
stmt.close();。
conn.close();。
// 显示用户信息
for (User u : users) {。
System.out.println(u);。
}
}
简单啊,你可以定义一个总list,然后将分list放进去就可以了:比如: List list1 = new ArrayList(); List list2 = new ArrayList(); list2放 [{DepartID=782, num=209}, {DepartID=650, num=4}, {DepartID=52, num=3488}] List list3 = new ArrayList(); list3放 [{dpsNum=60}, {dpsNum=2377}, {dpsNum=2043}] 然后list1.add(list2) list1.add(list3)。
在第10行定义list的时候类型定义为数组类型就行。
ArrayList<int[]> list=new ArrayList<>();。
如果list是按bean对象bai存,则对象要改变:之前List对象存2个属性:DepartID,num,添加后的对象有3个属性:DepartID,num,dpsNum,所以要定义新的List对象来存两个List的结果。(见下面代码,已调通,1个main类,3个对象类)。
如果list是按string存而非bean对象,则for循环遍历list1后,将list2字符串拼接到list1末尾,再覆盖进list1对应结果中就行,list1.set(index,list1.get(index)+list2.get(index)),类似这句,没调试过。
扩展资料:
Java中的集合类可以分为两大类:一类是实现Collection接口;另一类是实现Map接口。
Collection是一个基本的集合接口,Collection中可以容纳一组集合元素(Element)。
Java提供了对象的数种保存方式,除了内置的数组以外,其余的称为集合类。为了使程序方便地存储和操纵数目不固定的一组数据,JDK中提供了Java集合类,所有Java集合类都位于Java.util包中,与Java数组不同,Java集合不能存放基本数据类型数据,而只能存放对象的引用。
参考资料来源:百度百科-java集合类。
1、可以通过list的add方法来进行添加,可以通过get方法获取到数据内容(即可是任何对象)。
2、实体类型如果为数组的话,可以直接通过list的add方法进行添加转换,举例List<Object> list = new ArrayList<Object>(),定义一个数组类型的list对象String entity = new String[("1232"),创建一个要实体化的数组对象list.add(entity ),给list对象赋值,这样就完成了对象的转换可以获取到list的数据:list.get(0),结果就是entity对象(实际此对象是字符串)。
3、因为Object类型是任何对象类型的父类,所以不需要强制转换即可完成添加。
一、java将已保存数据的list集合传到别的类中操作进行增删改查的方法。
1、可以在类中自定义构造函数,将list集合作为参数,在new对象的时候把集合传进去。
2、可以在类中定义方法,将list集合作为参数,然后使用对象调用该方法,并把list集合作为实参传进去。