迴圈反思 for迴圈的濫用

2021-08-04 14:28:45 字數 662 閱讀 6761

本博剛剛從學校畢業,剛進去公司工作也已經接近兩個月了。

最近我的pl分配了乙個功能給我,主要涉及到了兩個bean,然後兩個bean都有乙個projectid,然後我要做的就是通過匹配相同的projectid,把兩個bean合併成乙個bean反饋給前端,讓前端顯示相關功能。

一開始思路

for(int i = 0;i

一開始的覺得不什麼事,因為我測試的時候都是用小資料來測試,速度還算可以,但是一旦資料是大資料的時候,這個迴圈就壞了,比如bean1是萬級別的,bean2也是萬級別的,這個迴圈就等於是億級別的,這個迴圈的話沒半小時幹不完。

因此,在後面我選擇了用hashmap的entryset方法,這樣就能減少迴圈的次數,雖然也是萬級別的,但是比億級別快多了。

system.out.println("通過map.entryset遍歷key和value"

);  

for(map.entryentry : map.entryset())   

當需要遍歷hashmap的時候,請盡量使用entryset,而不要用keyset,entryset的效率要比keyset高,實際上使用 entryset是只需要遍歷一次hash,即將key和value的對映關係放入到entry中,再取之;而keyset需要兩次遍歷hash,第一次 取所有的key,第二次用key去取出對應的value。

行為樹,打破濫用迴圈(一)

行為樹 bt millington 09 是現代遊戲開發中最受歡迎的工具之一。行為樹是對簡單決策樹方法的擴充套件,類似於大型的 if then else 語句。這使得bt似乎是一種相對簡單明瞭的技術,正是這種感知到的簡單性以及它們最初的易用性,從而導致bt在大多數主要遊戲引擎中得到廣泛採用並得以實施...

第五章 迴圈結構課後反思

1 for語句的一般形式 for 初值表示式 條件表示式 迴圈變數表示式 2 for語句的重要特徵1 while語句的一般形式 while 條件表示式 2 while語句的重要特徵 3 do while語句的一般形式 do while 條件表示式 4 do while語句的特徵 1 break語句既...

for迴圈 while迴圈

迴圈結構 當重複執行相同的 或者是相似的 時。迴圈三要素 1 迴圈變數的宣告 用於控制迴圈次數的迴圈因子 2 迴圈條件 用於判斷是否執行相同或相似內容 迴圈體 的條件 3 迴圈變數的改變方向 向著迴圈結束的方向改變。1 for迴圈 語法 for 變數的宣告和初始化 迴圈條件 變數的改變方向 執行邏輯...