隨機化ArrayList 時保留關係
使用兩個相關的ArrayList 時,在隨機化後維護其元素之間的關係至關重要。當一個 ArrayList 的順序影響另一個 ArrayList 時,這一點變得特別重要。
考慮問題中描述的場景,其中我們有兩個 ArrayList:fileList 和 imgList,每個都包含對應的檔案名稱和圖片名稱。讓我們看看如何隨機化 fileList,同時確保 imgList 遵循相同的隨機化模式。
挑戰
挑戰在於確保元素的順序imgList 與 fileList 的打亂順序對齊。 Collections.shuffle() 常用於隨機化,但它會產生新的隨機排列的元素,因此很難保留原始關係。
解決方案:同步洗牌
為了解決這個問題,我們可以使用Collections.shuffle() 兩次,每次都使用使用相同種子初始化的Random對象。種子值保證兩個 Random 物件產生相同的隨機數序列。
透過對兩個 Random 物件使用相同的種子,我們確保 fileList 和 imgList 以相同的順序進行混洗。這維護了相應元素之間的關係,使它們可以一起使用而不會出現任何差異。
範例輸出
應用解決方案後,產生的fileList 可能如下所示this:
因此,imgList 會自動隨機化以匹配fileList 的新順序:
這確保“e1.jpg”圖像仍然對應於“H1” .txt”等,儘管是隨機化的,但仍可以輕鬆地協調使用兩個ArrayList。
以上是如何在保持對應關係的同時打亂兩個相關的 ArrayList?的詳細內容。更多資訊請關注PHP中文網其他相關文章!