前幾天有人問過我一個問題,就是兩個嵌套for循環(huán)執(zhí)行效率的問題,問有什么好的辦法替換。當時我想了想,實在想不起來,哎,慚愧?。?! 請教了答案,恍然大悟。
創(chuàng)新互聯(lián)是一家專業(yè)提供溆浦企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站設計、網(wǎng)站建設、HTML5建站、小程序制作等業(yè)務。10年已為溆浦眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。比如:兩個list中分別裝有相同的對象數(shù)據(jù)。 list1中有3萬條對象數(shù)據(jù)。 list2中有2萬條對象數(shù)據(jù)(但是對象中的某個屬性變量為空)。兩個list中的id或者其他變量都一模一樣。請用最快的方式找出list2中變量為空的那個對象,并且去list1中找出id相同的對象。 或者可以理解成,從list2中找出變量為空的,去list1中找出對應的對象,然后把為空的列補上。總之就是這么一個意思,先 for 循環(huán) list2,判斷一下每個對象的那個屬性變量是否為空,如果為空,再去for循環(huán)list1,找出id一樣的對象,就算執(zhí)行成功了。
那么請看下邊的for循環(huán)嵌套的解決方式:
for(Member m2:list2){ if(m2.getName()==null){ for(Member m1:list1){ if(m1.getId().intValue()==m2.getId().intValue()){ System.out.println(m2.getId()+" Name 值為空!!!"); } } } }