LinkedList 类

定义

和接口的双重链接列表实现ListDeque

[Android.Runtime.Register("java/util/LinkedList", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class LinkedList : Java.Util.AbstractSequentialList, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Util.IDeque
[<Android.Runtime.Register("java/util/LinkedList", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type LinkedList = class
    inherit AbstractSequentialList
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
    interface IDeque
    interface IQueue
    interface ICollection
    interface IIterable
    interface IList
[<Android.Runtime.Register("java/util/LinkedList", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type LinkedList = class
    inherit AbstractSequentialList
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
    interface IDeque
    interface IQueue
    interface ICollection
    interface IIterable
    interface ISequencedCollection
    interface IList
继承
属性
实现

注解

和接口的双重链接列表实现ListDeque。 实现所有可选列表操作,并允许所有元素(包括 null)。

所有操作都按预期执行双重链接的列表。 索引到列表中的操作将从开头或末尾遍历列表,以更接近指定索引为准。

<强>请注意,此实现未同步。</strong> 如果多个线程同时访问链接列表,并且至少有一个线程在结构上修改列表, 则必须 在外部同步该列表。 (结构修改是添加或删除一个或多个元素的任何操作;仅设置元素的值不是结构修改。这通常是通过在自然封装列表的某些对象上进行同步来实现的。

如果不存在此类对象,则应使用 Collections#synchronizedList Collections.synchronizedList 该方法“包装”列表。 最好在创建时执行此操作,以防止意外的未同步访问列表:

List list = Collections.synchronizedList(new LinkedList(...));

此类iteratorlistIterator返回的迭代器和方法返回的迭代器是快速的:如果在创建迭代器后随时对列表进行结构修改,removeadd则迭代器将引发一个ConcurrentModificationException。 因此,面对并发修改,迭代器会在将来不确定的时间快速、干净地失败,而不是冒着任意的不确定行为的风险。

请注意,迭代器的故障快速行为无法保证,一般来说,在出现非同步并发修改时,无法做出任何硬保证。 故障快速迭代器会尽力引发 ConcurrentModificationException 。 因此,编写依赖于此异常的程序的正确性是错误的:迭代 器的故障快速行为应仅用于检测 bug。

此类是 Java Collections Framework 的成员。

已在 1.2 中添加。

Java文档java.util.LinkedList

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

构造函数

名称 说明
LinkedList()

构造一个空列表。

LinkedList(ICollection)

构造一个列表,该列表包含指定集合的元素,顺序由集合的迭代器返回。

LinkedList(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

名称 说明
Class

返回此 Object的运行时类。

(继承自 Object)
First

返回此列表中的第一个元素。

Handle

基础 Android 实例的句柄。

(继承自 Object)
IsEmpty

要添加

(继承自 AbstractCollection)
JniIdentityHashCode

和接口的双重链接列表实现ListDeque

(继承自 Object)
JniPeerMembers

和接口的双重链接列表实现ListDeque

Last

返回此列表中的最后一个元素。

ModCount

此列表在 结构上修改的次数。

(继承自 AbstractList)
PeerReference

和接口的双重链接列表实现ListDeque

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

方法

名称 说明
Add(Int32, Object)

要添加

(继承自 AbstractList)
Add(Object)

要添加

(继承自 AbstractCollection)
AddAll(ICollection)

要添加

(继承自 AbstractCollection)
AddAll(Int32, ICollection)

要添加

(继承自 AbstractList)
AddFirst(Object)

在此列表的开头插入指定的元素。

AddLast(Object)

将指定的元素追加到此列表的末尾。

Clear()

要添加

(继承自 AbstractCollection)
Clone()

返回此 LinkedList副本的浅表副本。

Contains(Object)

要添加

(继承自 AbstractCollection)
ContainsAll(ICollection)

要添加

(继承自 AbstractCollection)
DescendingIterator()

已在 1 中添加。

Dispose()

和接口的双重链接列表实现ListDeque

(继承自 Object)
Dispose(Boolean)

和接口的双重链接列表实现ListDeque

(继承自 Object)
Element()

检索此列表的头(第一个元素),但不会删除。

Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
Get(Int32)

返回此列表中指定位置处的元素。

(继承自 AbstractSequentialList)
GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
IndexOf(Object)

要添加

(继承自 AbstractList)
Iterator()

按正确的顺序返回此列表中的元素的迭代器。

(继承自 AbstractList)
JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
LastIndexOf(Object)

要添加

(继承自 AbstractList)
ListIterator()

要添加

(继承自 AbstractList)
ListIterator(Int32)

返回此列表中的元素的列表迭代器(按正确的顺序),从列表中的指定位置开始。

Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
Offer(Object)

将指定的元素添加为此列表的结尾(最后一个元素)。

OfferFirst(Object)

在此列表的前面插入指定的元素。

OfferLast(Object)

在此列表末尾插入指定的元素。

Peek()

检索此列表的头(第一个元素),但不会删除。

PeekFirst()

检索但不删除此列表的第一个元素,或返回 null 此列表是否为空。

PeekLast()

检索但不删除此列表的最后一个元素,或返回 null 此列表是否为空。

Poll()

检索并删除此列表的头(第一个元素)。

PollFirst()

检索和删除此列表的第一个元素,或返回 null 此列表是否为空。

PollLast()

检索和删除此列表的最后一个元素,或者返回 null 此列表是否为空。

Pop()

从此列表所表示的堆栈中弹出一个元素。

Push(Object)

将元素推送到此列表所表示的堆栈上。

Remove()

检索并删除此列表的头(第一个元素)。

Remove(Int32)

要添加

(继承自 AbstractList)
Remove(Object)

要添加

(继承自 AbstractCollection)
RemoveAll(ICollection)

要添加

(继承自 AbstractCollection)
RemoveFirst()

从此列表中删除并返回第一个元素。

RemoveFirstOccurrence(Object)

删除此列表中指定元素的第一个匹配项(从头到尾遍历列表时)。

RemoveLast()

从此列表中删除并返回最后一个元素。

RemoveLastOccurrence(Object)

删除此列表中指定元素的最后一个匹配项(从头到尾遍历列表时)。

RemoveRange(Int32, Int32)

从此列表中删除索引介于、非独占和toIndex独占之间的fromIndex所有元素。

(继承自 AbstractList)
RetainAll(ICollection)

要添加

(继承自 AbstractCollection)
Reversed()

要添加

Set(Int32, Object)

要添加

(继承自 AbstractList)
SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
Size()

返回此列表中的元素数目。

Spliterator()

在此列表中的元素上创建 em 后期绑定</em> 和 <em>fail-fast</emSpliterator>。><

SubList(Int32, Int32)

要添加

(继承自 AbstractList)
ToArray()

要添加

(继承自 AbstractCollection)
ToArray(Object[])

要添加

(继承自 AbstractCollection)
ToArray<T>()

和接口的双重链接列表实现ListDeque

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

和接口的双重链接列表实现ListDeque

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><>

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

名称 说明
IJavaPeerable.Disposed()

和接口的双重链接列表实现ListDeque

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

和接口的双重链接列表实现ListDeque

(继承自 Object)
IJavaPeerable.Finalized()

和接口的双重链接列表实现ListDeque

(继承自 Object)
IJavaPeerable.JniManagedPeerState

和接口的双重链接列表实现ListDeque

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

和接口的双重链接列表实现ListDeque

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

和接口的双重链接列表实现ListDeque

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

和接口的双重链接列表实现ListDeque

(继承自 Object)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

和接口的双重链接列表实现ListDeque

ToEnumerable(IIterable)

和接口的双重链接列表实现ListDeque

ToEnumerable<T>(IIterable)

和接口的双重链接列表实现ListDeque

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于