TreeMap Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Implementasi berbasis NavigableMap pohon Red-Black.
[Android.Runtime.Register("java/util/TreeMap", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public class TreeMap : Java.Util.AbstractMap, IDisposable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Util.INavigableMap
[<Android.Runtime.Register("java/util/TreeMap", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
type TreeMap = class
inherit AbstractMap
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ICloneable
interface INavigableMap
interface ISortedMap
interface IMap
interface ISequencedMap
- Warisan
- Atribut
- Penerapan
Keterangan
Implementasi berbasis NavigableMap pohon Red-Black. Peta diurutkan sesuai dengan urutan alami yang Sebanding dari kuncinya, atau oleh Comparator yang disediakan pada waktu pembuatan peta, tergantung pada konstruktor mana yang digunakan.
Implementasi ini memberikan biaya waktu log(n) yang dijamin untuk containsKeyoperasi , get, put dan remove . Algoritma adalah adaptasi dari mereka yang ada di Cormen, Leiserson, dan Rivest em <>Pengantar Algoritma</em>.
Perhatikan bahwa pengurutan yang dikelola oleh peta pohon, seperti peta yang diurutkan, dan apakah komparatata eksplisit disediakan atau tidak, harus <>konsisten dengan /emequals jika peta yang diurutkan ini adalah untuk mengimplementasikan < antarmuka dengan >Mapbenar. (Lihat Comparable atau Comparator untuk definisi yang tepat dari <em>konsisten dengan equals</em>.) Ini karena Map antarmuka didefinisikan dalam hal equals operasi, tetapi peta yang diurutkan melakukan semua perbandingan kunci menggunakan metode (atau compareTo) -nya compare , sehingga dua kunci yang dianggap sama dengan metode ini adalah, dari sudut pemetaan yang diurutkan, sama. Perilaku peta <yang diurutkan em>didefinisikan<> dengan baik bahkan jika urutannya tidak konsisten dengan equals; itu hanya gagal mematuhi kontrak Map umum antarmuka.
<kuat>Perhatikan bahwa implementasi ini tidak disinkronkan.</strong> Jika beberapa utas mengakses peta secara bersamaan, dan setidaknya salah satu utas memodifikasi peta secara struktural, maka <harus></em> disinkronkan secara eksternal. (Modifikasi struktural adalah operasi apa pun yang menambahkan atau menghapus satu atau beberapa pemetaan; hanya mengubah nilai yang terkait dengan kunci yang ada bukanlah modifikasi struktural.) Ini biasanya dicapai dengan menyinkronkan pada beberapa objek yang secara alami merangkum peta. Jika tidak ada objek seperti itu, peta harus "dibungkus" menggunakan Collections#synchronizedSortedMap Collections.synchronizedSortedMap metode . Ini paling baik dilakukan pada waktu pembuatan, untuk mencegah akses tidak disengaja yang tidak disinkronkan ke peta:
SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));
Iterator yang dikembalikan oleh iterator metode koleksi yang dikembalikan oleh semua "metode tampilan koleksi" kelas ini adalah <em>fail-fast</em>: jika peta dimodifikasi secara struktural kapan saja setelah iterator dibuat, dengan cara apa pun kecuali melalui metode iterator sendiri remove , iterator akan melemparkan ConcurrentModificationException. Dengan demikian, dalam menghadapi modifikasi bersamaan, iterator gagal dengan cepat dan bersih, daripada berisiko perilaku arbitrer dan non-deterministik pada waktu yang tidak ditentukan di masa depan.
Perhatikan bahwa perilaku fail-fast dari iterator tidak dapat dijamin apa adanya, umumnya, tidak mungkin untuk membuat jaminan keras dengan adanya modifikasi bersamaan yang tidak disinkronkan. Iterator fail-fast melempar ConcurrentModificationException berdasarkan upaya terbaik. Oleh karena itu, akan salah untuk menulis program yang bergantung pada pengecualian ini untuk kebenarannya: <em>perilaku iterator yang gagal cepat harus digunakan hanya untuk mendeteksi bug.</em>
Metode #ceilingEntry, , #firstEntry, #floorEntry#higherEntry, #lastEntry, #lowerEntry, , #pollFirstEntrydan #pollLastEntry mengembalikan Map.Entry instans yang mewakili rekam jepret pemetaan pada saat panggilan. Mereka tidak <><mendukung> mutasi peta yang mendasar melalui metode opsionalMap.Entry#setValue setValue.
Metode #putFirst putFirst dan #putLast putLast dari kelas ini melemparkan UnsupportedOperationException. Urutan pemetaan pertemuan ditentukan oleh metode perbandingan; oleh karena itu, penempatan eksplisit tidak didukung.
Kelas ini adalah anggota Java Collections Framework.
Ditambahkan dalam 1.2.
Java dokumentasi untuk java.util.TreeMap.
Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.
Konstruktor
| Nama | Deskripsi |
|---|---|
| TreeMap() |
Membangun peta pohon baru yang kosong, menggunakan urutan alami kuncinya. |
| TreeMap(IComparator) |
Membangun peta pohon baru yang kosong, diurutkan sesuai dengan komparator yang diberikan. |
| TreeMap(IDictionary) |
Membuat peta pohon baru yang berisi pemetaan yang sama dengan peta yang diberikan, yang diurutkan sesuai dengan <>pengurutan</em> alami kuncinya. |
| TreeMap(IntPtr, JniHandleOwnership) |
Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime. |
Properti
| Nama | Deskripsi |
|---|---|
| Class |
Mengembalikan kelas runtime dari . |
| Handle |
Handel ke instans Android yang mendasar. (Diperoleh dari Object) |
| IsEmpty |
Untuk ditambahkan (Diperoleh dari AbstractMap) |
| JniIdentityHashCode |
Mendapatkan kode hash identitas yang ditetapkan ke Java peer ini oleh runtime interop. (Diperoleh dari Object) |
| JniManagedPeerState |
Implementasi berbasis |
| JniPeerMembers |
Implementasi berbasis |
| PeerReference |
Mendapatkan referensi objek JNI untuk peer Java ini. (Diperoleh dari Object) |
| ThresholdClass |
API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. |
| ThresholdType |
API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. |
Metode
| Nama | Deskripsi |
|---|---|
| CeilingEntry(Object) |
Implementasi berbasis |
| CeilingKey(Object) |
Ditambahkan dalam 1. |
| Clear() |
Untuk ditambahkan (Diperoleh dari AbstractMap) |
| Clone() |
Mengembalikan salinan dangkal instans ini |
| Comparator() |
Mengembalikan komparator yang digunakan untuk membandingkan kunci dalam peta yang diurutkan ini, atau null jika pengurutan alami sedang digunakan. |
| Compute(Object, IBiFunction) |
Implementasi berbasis |
| ComputeIfAbsent(Object, IFunction) |
Implementasi berbasis |
| ComputeIfPresent(Object, IBiFunction) |
Implementasi berbasis |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Implementasi berbasis |
| ContainsKey(Object) |
Untuk ditambahkan (Diperoleh dari AbstractMap) |
| ContainsValue(Object) |
Untuk ditambahkan (Diperoleh dari AbstractMap) |
| DescendingKeySet() |
Ditambahkan dalam 1. |
| DescendingMap() |
Ditambahkan dalam 1. |
| Dispose() |
Merilis sumber daya yang dipegang oleh rekan Java ini. (Diperoleh dari Object) |
| Dispose(Boolean) |
Merilis sumber daya yang dipegang oleh rekan Java ini. (Diperoleh dari Object) |
| DisposeUnlessReferenced() |
Implementasi berbasis |
| EntrySet() |
Mengembalikan |
| Equals(Object) |
Implementasi berbasis |
| Equals(Object) |
Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini. (Diperoleh dari Object) |
| FirstEntry() |
Mengembalikan pemetaan kunci-nilai yang terkait dengan kunci terkecil dalam peta ini, atau |
| FirstKey() |
Mengembalikan kunci paling sedikit dalam peta yang diurutkan ini. |
| FloorEntry(Object) |
Implementasi berbasis |
| FloorKey(Object) |
Ditambahkan dalam 1. |
| ForEach(IBiConsumer) |
Implementasi berbasis |
| Get(Object) |
Untuk ditambahkan (Diperoleh dari AbstractMap) |
| GetHashCode() |
Mengembalikan nilai kode hash untuk objek . (Diperoleh dari Object) |
| HeadMap(Object, Boolean) |
Ditambahkan dalam 1. |
| HeadMap(Object) |
Implementasi berbasis |
| HigherEntry(Object) |
Implementasi berbasis |
| HigherKey(Object) |
Ditambahkan dalam 1. |
| JavaFinalize() |
Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek. (Diperoleh dari Object) |
| KeySet() |
Untuk ditambahkan (Diperoleh dari AbstractMap) |
| LastEntry() |
Mengembalikan pemetaan nilai kunci yang terkait dengan kunci terbesar dalam peta ini, atau |
| LastKey() |
Mengembalikan kunci terbesar dalam peta yang diurutkan ini. |
| LowerEntry(Object) |
Implementasi berbasis |
| LowerKey(Object) |
Ditambahkan dalam 1. |
| Merge(Object, Object, IBiFunction) |
Implementasi berbasis |
| NavigableKeySet() |
Ditambahkan dalam 1. |
| Notify() |
Membangunkan satu utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
| NotifyAll() |
Membangunkan semua utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
| PollFirstEntry() |
Menghapus dan mengembalikan pemetaan nilai kunci yang terkait dengan kunci paling sedikit dalam peta ini, atau |
| PollLastEntry() |
Menghapus dan mengembalikan pemetaan nilai kunci yang terkait dengan kunci terbesar di peta ini, atau |
| Put(Object, Object) |
Untuk ditambahkan (Diperoleh dari AbstractMap) |
| PutAll(IDictionary) |
Untuk ditambahkan (Diperoleh dari AbstractMap) |
| PutFirst(Object, Object) |
Melemparkan |
| PutIfAbsent(Object, Object) |
Implementasi berbasis |
| PutLast(Object, Object) |
Melemparkan |
| Remove(Object) |
Untuk ditambahkan (Diperoleh dari AbstractMap) |
| Replace(Object, Object, Object) |
Implementasi berbasis |
| Replace(Object, Object) |
Implementasi berbasis |
| ReplaceAll(IBiFunction) |
Implementasi berbasis |
| SetHandle(IntPtr, JniHandleOwnership) |
Mengatur properti Handle. (Diperoleh dari Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Implementasi berbasis |
| Size() |
Untuk ditambahkan (Diperoleh dari AbstractMap) |
| SubMap(Object, Boolean, Object, Boolean) |
Ditambahkan dalam 1. |
| SubMap(Object, Object) |
Implementasi berbasis |
| TailMap(Object, Boolean) |
Ditambahkan dalam 1. |
| TailMap(Object) |
Implementasi berbasis |
| ToArray<T>() |
Membuat array terkelola dari pembungkus array Java ini. (Diperoleh dari Object) |
| ToString() |
Mengembalikan representasi string objek. (Diperoleh dari Object) |
| UnregisterFromRuntime() |
Membatalkan pendaftaran peer Java ini dari runtime interop. (Diperoleh dari Object) |
| Values() |
Untuk ditambahkan (Diperoleh dari AbstractMap) |
| Wait() |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>. (Diperoleh dari Object) |
| Wait(Int64, Int32) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu. (Diperoleh dari Object) |
| Wait(Int64) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| IJavaPeerable.Disposed() |
Implementasi berbasis |
| IJavaPeerable.Finalized() |
Implementasi berbasis |
| IJavaPeerable.JniObjectReferenceControlBlock |
Implementasi berbasis |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Implementasi berbasis |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Implementasi berbasis |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Implementasi berbasis |
| IJavaPeerable.UnregisterFromRuntime() |
Implementasi berbasis |
Metode Ekstensi
| Nama | Deskripsi |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Mendapatkan nama JNI dari jenis instans |
| JavaAs<TResult>(IJavaPeerable) |
Cobalah untuk memaksa |
| JavaCast<TResult>(IJavaObject) |
Melakukan konversi jenis yang diperiksa runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Implementasi berbasis |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Cobalah untuk memaksa |