簡體   English   中英

Java:按一個列表的順序遍歷另一個列表中的對象

[英]Java: iterating through one list in order of the objects in other list

我有一個對象List<Field> fieldListList<Field> fieldList和一個String List<String> fieldNameList fieldList中的每個Field對象都由String filedName和各種屬性組成。

遍歷fieldList並按fieldNameList的順序訪問其屬性的最佳方法是什么?

例如,

fieldList[name, color, size]

包含:

  [field1, red, 10] [field2, yellow, 8] [filed3, green, 9] [field4, blue, 10] 

並且fieldNameList包含:

  [field2, field3, field1, field4] 

我想按fieldNameList的順序訪問fieldList ,即color = yellow,green,red,blue

據我所知的一種方法是通過迭代fieldList第一和創建HashMap<String, Field> nameFieldMap然后通過遍歷fieldNameList並通過訪問所需的字段屬性fieldNames為了。

但是,這涉及2次迭代,因此所需時間為2n

有一個更好的方法嗎? 可以一次迭代實現嗎?

如果fieldNameListfieldList具有相同(或相似)的大小,則根本無法獲得大於2n的值。 每個列表一個n。 您只需要為每個列表支付O(n)即可檢查內容...除非至少一個列表具有某些有趣的特征。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM