1點兒優化:比較兩個List中是否有相同的String
阿新 • • 發佈:2019-02-11
一般寫法(雙層for迴圈+if語句)複雜
for(int i = 0; i < list2.size(); i++){
for(int j = 0; j < list3.size(); j++){
if(list3.get(j).equals(list2.get(i))){
//操作
}
}
}
簡化一下(利用String.indexOf()方法)
List<String> isPrintBarCodeByPatientId = Db.query("select BarCodeNo from t_lis where PatientId=?","0000000072"); StringBuffer sb = new StringBuffer(""); for(String s : isPrintBarCodeByPatientId) sb.append(s+"|"); String s = sb.toString(); List<Record> itemList = DbQueryKit.getBarCodesByPatientNo("0000000066"); boolean flag = false; for (int i = 1; i <= infoList.size(); i++) { Record info = infoList.get(i - 1); String barCode = Dbtool.readDbString(info.get("BARCODE")); flag = s.indexOf(barCode) != -1; if(flag){ //操作 } }