2 lidou5872 lidou5872 于 2017.08.31 18:24 提问

两个list如何 合并成为一个数组,我想讲list和list1合并成为一个数组

public Object[] query(Object[] a){
Session session=sessionFactory.getCurrentSession();
Query query =session.createQuery("from subject");
if(query.list().isEmpty()){
List list1=new ArrayList();
List list=query.list();
for (subject subject : list) {
Integer id= subject.getId();
Query query1=session.createQuery("from option where subjectid =:id");
query1.setString("id", ""+id+"");
Integer preson =(Integer) query1.uniqueResult();
list1.add(preson);
}

    }
}

5个回答

chenbaige
chenbaige   Rxr 2017.08.31 21:04

如果是向将两个list合并为一个list:list1.addAll(list); 这样就把list添加到list1中了。

要想合并到object[]中,可以把上一步得到的list直接转数组,方法参考:http://blog.csdn.net/kingzone_2008/article/details/8444678

Small_Mouse0
Small_Mouse0   Ds   Rxr 2017.08.31 23:35

“list和list1合并成为一个数组”,,,感觉不是很难唉

【1】申请一个数组,长度为list.size()+list1.size(),
【2】遍历两个list,放进去就行了

不过看你的list没加泛型,,,那数组就是object

qq_24029841
qq_24029841   2017.09.01 09:09

直接开数组长度为两个list的长度,复制就可以了,

还可以利用javaAPi来做

jkl012789
jkl012789   2017.09.01 09:45

先用addAll()方法将两个list集合合并成一个list,然后用toArray()方法返回数组即可

oliver_105397
oliver_105397   2017.09.01 11:40
 list.addAll(list1);
 Subject[] subjects = new Subject[list.size()];
 for(int i = 0; i<list.size(); i++) {
     subjects[i] = list.get(i);
 }
Csdn user default icon
上传中...
上传图片
插入图片