【发布时间】:2014-03-30 19:47:23
【问题描述】:
我正在遍历 LinkedList 中的对象列表,搜索第一个满足某些条件的对象。找到后,我想将其移至列表的前面,以减少在列表中搜索常用对象的平均时间。
我正在尝试做的伪代码示例:
for(Object thing:list){
if(ThisIsTheObjectWeAreLookingFor(thing)){
list.RemoveCurrentLinkedListNode();
list.addFirst(thing);
return thing;
}
}
我知道我可以使用 remove(Object) 或 remove(index) 方法,但这会更慢。基本上如此,取决于列表中元素的数量。 (因为这些方法必须第二次遍历列表。)
【问题讨论】:
-
@RakeshKR 不,这是关于任何
List<T>的,因此无法利用链表详细信息。
标签: java data-structures linked-list