日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Java優(yōu)化for循環(huán)嵌套的高效率方法

瀏覽:25日期:2022-08-24 16:51:47

前幾天有人問過我一個(gè)問題,就是兩個(gè)嵌套for循環(huán)執(zhí)行效率的問題,問有什么好的辦法替換。當(dāng)時(shí)我想了想,實(shí)在想不起來,哎,慚愧!!! 請教了答案,恍然大悟。

比如:兩個(gè)list中分別裝有相同的對象數(shù)據(jù)。 list1中有3萬條對象數(shù)據(jù)。 list2中有2萬條對象數(shù)據(jù)(但是對象中的某個(gè)屬性變量為空)。兩個(gè)list中的id或者其他變量都一模一樣。請用最快的方式找出list2中變量為空的那個(gè)對象,并且去list1中找出id相同的對象。 或者可以理解成,從list2中找出變量為空的,去list1中找出對應(yīng)的對象,然后把為空的列補(bǔ)上。總之就是這么一個(gè)意思,先 for 循環(huán) list2,判斷一下每個(gè)對象的那個(gè)屬性變量是否為空,如果為空,再去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 值為空!!!'); } } }}

這樣真的好嗎? 如果有上萬,甚至十幾萬的數(shù)據(jù),那么這個(gè)執(zhí)行效率問題,我就不多說了。 非常非常的慢。

下邊來看使用map代替的執(zhí)行方式,以及兩種方式的效率對比:

import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.concurrent.TimeUnit; class Member { private Integer id; private String name; private Integer age; private Date addDate; public Member() { } public Member(Integer id, String name, Integer age, Date addDate) { super(); this.id = id; this.name = name; this.age = age; this.addDate = addDate; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Date getAddDate() { return addDate; } public void setAddDate(Date addDate) { this.addDate = addDate; } } public class For2 { public static void main(String[] args) throws InterruptedException { List<Member> list1 = new ArrayList<>(); List<Member> list2 = new ArrayList<>(); for(int i=0;i<30000;i++){ Date date = new Date(); list1.add(new Member((i+1),'技術(shù)客',(i+1), date)); if(i%2==0){ list2.add(new Member((i+1),null,(i+1), date)); } } //雙for循環(huán)嵌套測試 long s1 = System.currentTimeMillis(); int forNumber = 0; 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 值為空!!!'); forNumber++; } } } } long s2 = System.currentTimeMillis(); System.out.println('雙for循環(huán)查詢時(shí)間為:'+(s2-s1)+'(毫秒),一共查詢出'+forNumber+'條數(shù)據(jù) nnn'); TimeUnit.SECONDS.sleep(3); //map查詢測試 long s3 = System.currentTimeMillis(); int mapNumber = 0; Map<Integer, Member> map = new HashMap<>(); for(Member m1:list1){ map.put(m1.getId(), m1); } for(Member m2:list2){ if(m2.getName()==null){ Member m = map.get(m2.getId()); if(m!=null){// System.out.println(m2.getId()+' Name 值為空!!!'); mapNumber++; } } } long s4 = System.currentTimeMillis(); System.out.println('使用map結(jié)構(gòu)查詢時(shí)間為:'+(s4-s3)+'(毫秒),一共查詢出'+mapNumber+'條數(shù)據(jù) nnn'); } }

輸出結(jié)果:

雙for循環(huán)查詢時(shí)間為:1578(毫秒),一共查詢出15000條數(shù)據(jù) 使用map結(jié)構(gòu)查詢時(shí)間為:14(毫秒),一共查詢出15000條數(shù)據(jù)

如果我們模擬10萬條數(shù)據(jù),然后其中五千條重復(fù)數(shù)據(jù)的情況下:效率更是天壤之別。

看輸出結(jié)果:

雙for循環(huán)查詢時(shí)間為:30929(毫秒),一共查詢出50000條數(shù)據(jù) 使用map結(jié)構(gòu)查詢時(shí)間為:24(毫秒),一共查詢出50000條數(shù)據(jù)

循環(huán)數(shù)據(jù)越小,兩者差別也就越小,但是數(shù)據(jù)量越大,差別也就越大。 10萬條數(shù)據(jù)的差別竟然達(dá)到上千倍!

以上就是Java優(yōu)化for循環(huán)嵌套的高效率方法的詳細(xì)內(nèi)容,更多關(guān)于Java 優(yōu)化 for循環(huán)的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
天堂网av成人| 麻豆精品新av中文字幕| 日韩国产一区| 成人欧美一区二区三区的电影| 精品亚洲成人| 精品五月天堂| av资源中文在线| 精品成人免费一区二区在线播放| 日韩精品dvd| 91精品久久久久久久久久不卡| 日韩欧美一区二区三区免费观看| 岛国av免费在线观看| 激情黄产视频在线免费观看| 中文字幕在线免费观看视频| 麻豆成人av在线| 精品午夜av| 久久九九99| 99视频一区| 丝袜亚洲另类欧美| 日本一区免费网站| 免费看一区二区三区| 毛片在线网站| 狠狠干综合网| 蜜臀av国产精品久久久久| 亚洲美女久久| 国产伦精品一区二区三区千人斩| 老司机精品视频网| 神马午夜在线视频| 免费毛片在线不卡| 蜜桃视频第一区免费观看| 日韩高清成人在线| 高清久久一区| 激情欧美丁香| 亚洲精品欧美| 国产精品极品在线观看| 日韩大片在线| 制服诱惑一区二区| 日韩欧美三区| 国产伊人久久| 久久中文视频| 婷婷综合电影| 视频在线不卡免费观看| 亚洲成人一区| 奇米777国产一区国产二区| 精品国产亚洲日本| 久久精品官网| 欧美片网站免费| 亚洲国产欧美日本视频| 亚洲尤物在线| 欧美极品一区二区三区| 亚洲五月婷婷| 清纯唯美亚洲综合一区| 日韩av首页| 日韩影片在线观看| 欧美成人a交片免费看| 三级在线观看一区二区| 精品国产aⅴ| 久久av在线| 久久中文字幕一区二区三区| 91成人超碰| 国产精品综合色区在线观看| 韩国精品主播一区二区在线观看| 在线观看亚洲精品福利片| 久久女人天堂| 久久夜色精品| 精品色999| 日韩一区二区三区在线看| 国产高清不卡| 欧美日韩午夜| 九一成人免费视频| 里番精品3d一二三区| 久久高清一区| 日本久久黄色| 亚洲精品婷婷| 久久影院一区| 国产精品亚洲成在人线| 亚洲一区二区免费看| 国产成年精品| 日韩一区二区三区精品 | 国产精品115| 黄色欧美日韩| 高清一区二区三区| 91av一区| 亚洲免费一区二区| 国产美女高潮在线| 日韩精品成人| 亚洲激情国产| 国产一区二区三区视频在线| 亚洲美女久久| 在线国产一区二区| 美女av在线免费看| 国产精品久久久一区二区| 日韩中文字幕91| 久久三级视频| 九九99久久精品在免费线bt| 91亚洲无吗| 免费视频最近日韩| 极品裸体白嫩激情啪啪国产精品| 美女国产精品久久久| 日本麻豆一区二区三区视频| 蜜芽一区二区三区| 国产一级久久| 啪啪国产精品| 国产中文欧美日韩在线| 国产精品视频一区视频二区| 日本亚洲三级在线| 午夜精品网站| 久久网站免费观看| 国产在线|日韩| 亚洲一级少妇| 久久uomeier| yellow在线观看网址| 里番精品3d一二三区| 国产精品主播| 国产欧美高清| 国产美女撒尿一区二区| 欧美日韩1区| 偷拍亚洲精品| 亚洲开心激情| 亚洲免费专区| 日本久久一区| 欧美一区自拍| **爰片久久毛片| 国产午夜一区| 欧美精品导航| 精品视频在线观看网站| 国产伦理一区| 国产精品二区影院| 国产精品中文字幕亚洲欧美| 国产视频网站一区二区三区| 91大神在线观看线路一区| 国产精区一区二区| 国产精品久久久久久久免费软件| 欧美综合精品| 国产美女久久| 精品国产一区二区三区性色av| 精品国产成人| www成人在线视频| 极品日韩av| 国产精品女主播一区二区三区| 亚洲一区网站| 午夜精品影视国产一区在线麻豆| 日韩高清一区| 国产精品调教| 91综合网人人| 亚洲第一精品影视| 亚洲欧美日本日韩| 一区二区国产在线| 91成人小视频| 国产aⅴ精品一区二区三区久久 | 国产精品精品| 欧洲在线一区| 性欧美长视频| 日韩和欧美的一区| 国产精品1区| 日韩欧美午夜| 亚洲资源av| 91精品国产经典在线观看| 精品国产欧美| 蜜臀av免费一区二区三区| 国产精品视区| 日本va欧美va精品发布| 麻豆成人av在线| 久久激情中文| 午夜天堂精品久久久久| 久久久久伊人| 91成人精品| 欧美视频一区| 久久国产中文字幕| 婷婷精品在线| 国产一区精品福利| 国产一区清纯| 7m精品国产导航在线| 日韩一区二区在线免费| 香蕉久久久久久久av网站| 国产精品黄色| 久久国产影院| 日本午夜精品| 久久精品播放| 国产欧美激情| 欧美日韩国产在线一区| 日韩二区三区在线观看| 国产白浆在线免费观看| 三级亚洲高清视频| 精品理论电影在线| 免费日韩视频| 久久久久久网| 亚洲精品大全| 九九色在线视频| 欧美片第1页综合| 性欧美xxxx免费岛国不卡电影| 亚洲欧洲av| 国产成人精品亚洲日本在线观看| 丝袜国产日韩另类美女| 国产一区二区三区四区| 综合激情在线| 亚洲伦乱视频| 国产欧美欧美| 久久亚洲国产精品一区二区| 日韩综合一区|