中易网

一个与java集合与数据库有关的面试题

答案:3  悬赏:10  
解决时间 2021-03-06 16:20
面试官现场给出的问题,当时没答上来,发这里大家一起看一下:
已知一个List对象,List list...,大小有几万笔,A对象有id和name2个属性,A对象对应的数据库表是tableA,字段也是id和name,id是主键,表中有数据几十万笔,现在要求把list中与tableA中主键id相同的数据拿出来,放入另外一个List对象中,有没有高效率的方法?双层for循环就算了
最佳答案
  • 二级知识专家网友:安稳不如野
  • 2021-03-05 17:59
好吧我原来的说法绝对了,不过先期排序无论用什么方法都会用到循环。


假设第一个list和取出的dateList都是有序的,且都是按id升序排列的
int i=list.size()+dateList.size()-2;
int m=0;int mMax=list.size();
int n=0;int nMax=dateList.size();
int flag=0;
int valueA=0;
int valueB=0;
List tagetList=new ArrayList();
while(m+n if(m==mMax||n=nMax){
break;
}
valueA=Integer.parseInt(list.get(m).getId());
valueB=Integer.parseInt(dateList.get(m).getId());
if(valueA==valueB){
tagetList.add(list.get(m));
m++;continue;
}
if(valueA>valueB){
n++;continue;
}
if(valueA>valueB){
m++;continue;
}
}
全部回答
  • 1楼网友:有钳、任性
  • 2021-03-05 18:53
多线程...
  • 2楼网友:零负荷的放任
  • 2021-03-05 18:34
答案是a。jdbc规定 如果是数值类型,而且是null,jdbc返回的0 wasnull():如果是null,返回true
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯