LinkedList 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
和接口的双重链接列表实现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 中添加。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
构造函数
| 名称 | 说明 |
|---|---|
| LinkedList() |
构造一个空列表。 |
| LinkedList(ICollection) |
构造一个列表,该列表包含指定集合的元素,顺序由集合的迭代器返回。 |
| LinkedList(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
属性
| 名称 | 说明 |
|---|---|
| Class |
返回此 |
| First |
返回此列表中的第一个元素。 |
| Handle |
基础 Android 实例的句柄。 (继承自 Object) |
| IsEmpty |
要添加 (继承自 AbstractCollection) |
| JniIdentityHashCode |
和接口的双重链接列表实现 |
| JniPeerMembers |
和接口的双重链接列表实现 |
| Last |
返回此列表中的最后一个元素。 |
| ModCount |
此列表在 结构上修改的次数。 (继承自 AbstractList) |
| PeerReference |
和接口的双重链接列表实现 |
| 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() |
返回此 |
| Contains(Object) |
要添加 (继承自 AbstractCollection) |
| ContainsAll(ICollection) |
要添加 (继承自 AbstractCollection) |
| DescendingIterator() |
已在 1 中添加。 |
| Dispose() |
和接口的双重链接列表实现 |
| Dispose(Boolean) |
和接口的双重链接列表实现 |
| 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() |
检索但不删除此列表的第一个元素,或返回 |
| PeekLast() |
检索但不删除此列表的最后一个元素,或返回 |
| Poll() |
检索并删除此列表的头(第一个元素)。 |
| PollFirst() |
检索和删除此列表的第一个元素,或返回 |
| PollLast() |
检索和删除此列表的最后一个元素,或者返回 |
| Pop() |
从此列表所表示的堆栈中弹出一个元素。 |
| Push(Object) |
将元素推送到此列表所表示的堆栈上。 |
| Remove() |
检索并删除此列表的头(第一个元素)。 |
| Remove(Int32) |
要添加 (继承自 AbstractList) |
| Remove(Object) |
要添加 (继承自 AbstractCollection) |
| RemoveAll(ICollection) |
要添加 (继承自 AbstractCollection) |
| RemoveFirst() |
从此列表中删除并返回第一个元素。 |
| RemoveFirstOccurrence(Object) |
删除此列表中指定元素的第一个匹配项(从头到尾遍历列表时)。 |
| RemoveLast() |
从此列表中删除并返回最后一个元素。 |
| RemoveLastOccurrence(Object) |
删除此列表中指定元素的最后一个匹配项(从头到尾遍历列表时)。 |
| RemoveRange(Int32, Int32) |
从此列表中删除索引介于、非独占和 |
| RetainAll(ICollection) |
要添加 (继承自 AbstractCollection) |
| Reversed() |
要添加 |
| Set(Int32, Object) |
要添加 (继承自 AbstractList) |
| SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
| Size() |
返回此列表中的元素数目。 |
| Spliterator() |
在此列表中的元素上创建 em 后期绑定</em> 和 <em>fail-fast</em |
| SubList(Int32, Int32) |
要添加 (继承自 AbstractList) |
| ToArray() |
要添加 (继承自 AbstractCollection) |
| ToArray(Object[]) |
要添加 (继承自 AbstractCollection) |
| ToArray<T>() |
和接口的双重链接列表实现 |
| ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
| UnregisterFromRuntime() |
和接口的双重链接列表实现 |
| 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() |
和接口的双重链接列表实现 |
| IJavaPeerable.DisposeUnlessReferenced() |
和接口的双重链接列表实现 |
| IJavaPeerable.Finalized() |
和接口的双重链接列表实现 |
| IJavaPeerable.JniManagedPeerState |
和接口的双重链接列表实现 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
和接口的双重链接列表实现 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
和接口的双重链接列表实现 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
和接口的双重链接列表实现 |
扩展方法
| 名称 | 说明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
获取实例 |
| JavaAs<TResult>(IJavaPeerable) |
尝试强制 |
| JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
| JavaCast<TResult>(IJavaObject) |
和接口的双重链接列表实现 |
| ToEnumerable(IIterable) |
和接口的双重链接列表实现 |
| ToEnumerable<T>(IIterable) |
和接口的双重链接列表实现 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
尝试强制 |