[英]Java: iterating through one list in order of the objects in other list
我有一個對象List<Field> fieldList
, List<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 。
有一個更好的方法嗎? 可以一次迭代實現嗎?
如果fieldNameList
和fieldList
具有相同(或相似)的大小,則根本無法獲得大於2n的值。 每個列表一個n。 您只需要為每個列表支付O(n)即可檢查內容...除非至少一個列表具有某些有趣的特征。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.