/
ConcurrentHashMap.xml
3159 lines (3151 loc) · 234 KB
/
ConcurrentHashMap.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<Type Name="ConcurrentHashMap" FullName="Java.Util.Concurrent.ConcurrentHashMap">
<TypeSignature Language="C#" Value="public class ConcurrentHashMap : Java.Util.AbstractMap, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Util.Concurrent.IConcurrentMap" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ConcurrentHashMap extends Java.Util.AbstractMap implements class Android.Runtime.IJavaObject, class Java.Interop.IJavaPeerable, class Java.IO.ISerializable, class Java.Util.Concurrent.IConcurrentMap, class Java.Util.IMap, class System.IDisposable" />
<TypeSignature Language="DocId" Value="T:Java.Util.Concurrent.ConcurrentHashMap" />
<TypeSignature Language="F#" Value="type ConcurrentHashMap = class
 inherit AbstractMap
 interface ISerializable
 interface IJavaObject
 interface IDisposable
 interface IJavaPeerable
 interface IConcurrentMap
 interface IMap" />
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>Java.Util.AbstractMap</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>Android.Runtime.IJavaObject</InterfaceName>
</Interface>
<Interface>
<InterfaceName>Java.Interop.IJavaPeerable</InterfaceName>
</Interface>
<Interface>
<InterfaceName>Java.IO.ISerializable</InterfaceName>
</Interface>
<Interface>
<InterfaceName>Java.Util.Concurrent.IConcurrentMap</InterfaceName>
</Interface>
<Interface>
<InterfaceName>Java.Util.IMap</InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.IDisposable</InterfaceName>
</Interface>
</Interfaces>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register("java/util/concurrent/ConcurrentHashMap", DoNotGenerateAcw=true)]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register("java/util/concurrent/ConcurrentHashMap", DoNotGenerateAcw=true)>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]</AttributeName>
<AttributeName Language="F#">[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]</AttributeName>
</Attribute>
</Attributes>
<Docs since="1">
<param name="<K><K>">the type of keys maintained by this map</param>
<param name="<V><V>">the type of mapped values</param>
<summary>A hash table supporting full concurrency of retrievals and
high expected concurrency for updates.</summary>
<remarks>
<para>A hash table supporting full concurrency of retrievals and
high expected concurrency for updates. This class obeys the
same functional specification as <c>java.util.Hashtable</c>, and
includes versions of methods corresponding to each method of
<c>Hashtable</c>. However, even though all operations are
thread-safe, retrieval operations do <em>not</em> entail locking,
and there is <em>not</em> any support for locking the entire table
in a way that prevents all access. This class is fully
interoperable with <c>Hashtable</c> in programs that rely on its
thread safety but not on its synchronization details.</para>
<para>Retrieval operations (including <c>get</c>) generally do not
block, so may overlap with update operations (including <c>put</c>
and <c>remove</c>). Retrievals reflect the results of the most
recently <em>completed</em> update operations holding upon their
onset. (More formally, an update operation for a given key bears a
<em>happens-before</em> relation with any (non-null) retrieval for
that key reporting the updated value.) For aggregate operations
such as <c>putAll</c> and <c>clear</c>, concurrent retrievals may
reflect insertion or removal of only some entries. Similarly,
Iterators, Spliterators and Enumerations return elements reflecting the
state of the hash table at some point at or since the creation of the
iterator/enumeration. They do <em>not</em> throw <c>java.util.ConcurrentModificationException ConcurrentModificationException</c>.
However, iterators are designed to be used by only one thread at a time.
Bear in mind that the results of aggregate status methods including
<c>size</c>, <c>isEmpty</c>, and <c>containsValue</c> are typically
useful only when a map is not undergoing concurrent updates in other threads.
Otherwise the results of these methods reflect transient states
that may be adequate for monitoring or estimation purposes, but not
for program control.</para>
<para>The table is dynamically expanded when there are too many
collisions (i.e., keys that have distinct hash codes but fall into
the same slot modulo the table size), with the expected average
effect of maintaining roughly two bins per mapping (corresponding
to a 0.75 load factor threshold for resizing). There may be much
variance around this average as mappings are added and removed, but
overall, this maintains a commonly accepted time/space tradeoff for
hash tables. However, resizing this or any other kind of hash
table may be a relatively slow operation. When possible, it is a
good idea to provide a size estimate as an optional <c>initialCapacity</c> constructor argument. An additional optional
<c>loadFactor</c> constructor argument provides a further means of
customizing initial table capacity by specifying the table density
to be used in calculating the amount of space to allocate for the
given number of elements. Also, for compatibility with previous
versions of this class, constructors may optionally specify an
expected <c>concurrencyLevel</c> as an additional hint for
internal sizing. Note that using many keys with exactly the same
<c>hashCode()</c> is a sure way to slow down performance of any
hash table. To ameliorate impact, when keys are <c>Comparable</c>,
this class may use comparison order among keys to help break ties.</para>
<para>A <c>Set</c> projection of a ConcurrentHashMap may be created
(using <c>#newKeySet()</c> or <c>#newKeySet(int)</c>), or viewed
(using <c>#keySet(Object)</c> when only keys are of interest, and the
mapped values are (perhaps transiently) not used or all take the
same mapping value.</para>
<para>A ConcurrentHashMap can be used as a scalable frequency map (a
form of histogram or multiset) by using <c>java.util.concurrent.atomic.LongAdder</c> values and initializing via
<c>#computeIfAbsent computeIfAbsent</c>. For example, to add a count
to a <c>ConcurrentHashMap<String,LongAdder> freqs</c>, you can use
<c>freqs.computeIfAbsent(key, k -> new LongAdder()).increment();</c></para>
<para>This class and its views and iterators implement all of the
<em>optional</em> methods of the <c>Map</c> and <c>Iterator</c>
interfaces.</para>
<para>Like <c>Hashtable</c> but unlike <c>HashMap</c>, this class
does <em>not</em> allow <c>null</c> to be used as a key or value.</para>
<para>ConcurrentHashMaps support a set of sequential and parallel bulk
operations that, unlike most <c>Stream</c> methods, are designed
to be safely, and often sensibly, applied even with maps that are
being concurrently updated by other threads; for example, when
computing a snapshot summary of the values in a shared registry.
There are three kinds of operation, each with four forms, accepting
functions with keys, values, entries, and (key, value) pairs as
arguments and/or return values. Because the elements of a
ConcurrentHashMap are not ordered in any particular way, and may be
processed in different orders in different parallel executions, the
correctness of supplied functions should not depend on any
ordering, or on any other objects or values that may transiently
change while computation is in progress; and except for forEach
actions, should ideally be side-effect-free. Bulk operations on
<c>Map.Entry</c> objects do not support method <c>setValue</c>.
<ul>
<li>forEach: Performs a given action on each element.
A variant form applies a given transformation on each element
before performing the action.
<li>search: Returns the first available non-null result of
applying a given function on each element; skipping further
search when a result is found.
<li>reduce: Accumulates each element. The supplied reduction
function cannot rely on ordering (more formally, it should be
both associative and commutative). There are five variants:
<ul>
<li>Plain reductions. (There is not a form of this method for
(key, value) function arguments since there is no corresponding
return type.)
<li>Mapped reductions that accumulate the results of a given
function applied to each element.
<li>Reductions to scalar doubles, longs, and ints, using a
given basis value.
</ul>
</ul></para>
<para>These bulk operations accept a <c>parallelismThreshold</c>
argument. Methods proceed sequentially if the current map size is
estimated to be less than the given threshold. Using a value of
<c>Long.MAX_VALUE</c> suppresses all parallelism. Using a value
of <c>1</c> results in maximal parallelism by partitioning into
enough subtasks to fully utilize the <c>ForkJoinPool#commonPool()</c> that is used for all parallel
computations. Normally, you would initially choose one of these
extreme values, and then measure performance of using in-between
values that trade off overhead versus throughput.</para>
<para>The concurrency properties of bulk operations follow
from those of ConcurrentHashMap: Any non-null result returned
from <c>get(key)</c> and related access methods bears a
happens-before relation with the associated insertion or
update. The result of any bulk operation reflects the
composition of these per-element relations (but is not
necessarily atomic with respect to the map as a whole unless it
is somehow known to be quiescent). Conversely, because keys
and values in the map are never null, null serves as a reliable
atomic indicator of the current lack of any result. To
maintain this property, null serves as an implicit basis for
all non-scalar reduction operations. For the double, long, and
int versions, the basis should be one that, when combined with
any other value, returns that other value (more formally, it
should be the identity element for the reduction). Most common
reductions have these properties; for example, computing a sum
with basis 0 or a minimum with basis MAX_VALUE.</para>
<para>Search and transformation functions provided as arguments
should similarly return null to indicate the lack of any result
(in which case it is not used). In the case of mapped
reductions, this also enables transformations to serve as
filters, returning null (or, in the case of primitive
specializations, the identity basis) if the element should not
be combined. You can create compound transformations and
filterings by composing them yourself under this "null means
there is nothing there now" rule before using them in search or
reduce operations.</para>
<para>Methods accepting and/or returning Entry arguments maintain
key-value associations. They may be useful for example when
finding the key for the greatest value. Note that "plain" Entry
arguments can be supplied using <c>new
AbstractMap.SimpleEntry(k,v)</c>.</para>
<para>Bulk operations may complete abruptly, throwing an
exception encountered in the application of a supplied
function. Bear in mind when handling such exceptions that other
concurrently executing functions could also have thrown
exceptions, or would have done so if the first exception had
not occurred.</para>
<para>Speedups for parallel compared to sequential forms are common
but not guaranteed. Parallel operations involving brief functions
on small maps may execute more slowly than sequential forms if the
underlying work to parallelize the computation is more expensive
than the computation itself. Similarly, parallelization may not
lead to much actual parallelism if all processors are busy
performing unrelated tasks.</para>
<para>All arguments to all task methods must be non-null.</para>
<para>This class is a member of the
<see href="https://developer.android.com//java.base/java/util/package-summary.html#CollectionsFramework">
Java Collections Framework</see>.</para>
<para>Added in 1.5.</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
<since version="Added in API level 1" />
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ConcurrentHashMap ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.#ctor" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register(".ctor", "()V", "")]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register(".ctor", "()V", "")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters />
<Docs>
<summary>Creates a new, empty map with the default initial table size (16).</summary>
<remarks>
<para>Creates a new, empty map with the default initial table size (16).</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#ConcurrentHashMap()" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.ConcurrentHashMap()</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
<since version="Added in API level 1" />
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ConcurrentHashMap (System.Collections.IDictionary m);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Collections.IDictionary m) cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.#ctor(System.Collections.IDictionary)" />
<MemberSignature Language="F#" Value="new Java.Util.Concurrent.ConcurrentHashMap : System.Collections.IDictionary -> Java.Util.Concurrent.ConcurrentHashMap" Usage="new Java.Util.Concurrent.ConcurrentHashMap m" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register(".ctor", "(Ljava/util/Map;)V", "")]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register(".ctor", "(Ljava/util/Map;)V", "")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="m" Type="System.Collections.IDictionary" />
</Parameters>
<Docs>
<param name="m">the map</param>
<summary>Creates a new map with the same mappings as the given map.</summary>
<remarks>
<para>Creates a new map with the same mappings as the given map.</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#ConcurrentHashMap(java.util.Map%3C?%20extends%20K,%20?%20extends%20V%3E)" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.ConcurrentHashMap(java.util.Map<? extends K, ? extends V>)</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ConcurrentHashMap (int initialCapacity);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(int32 initialCapacity) cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.#ctor(System.Int32)" />
<MemberSignature Language="F#" Value="new Java.Util.Concurrent.ConcurrentHashMap : int -> Java.Util.Concurrent.ConcurrentHashMap" Usage="new Java.Util.Concurrent.ConcurrentHashMap initialCapacity" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register(".ctor", "(I)V", "")]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register(".ctor", "(I)V", "")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="initialCapacity" Type="System.Int32" />
</Parameters>
<Docs>
<param name="initialCapacity">The implementation performs internal
sizing to accommodate this many elements.</param>
<summary>Creates a new, empty map with an initial table size
accommodating the specified number of elements without the need
to dynamically resize.</summary>
<remarks>
<para>Creates a new, empty map with an initial table size
accommodating the specified number of elements without the need
to dynamically resize.</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#ConcurrentHashMap(int)" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.ConcurrentHashMap(int)</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
<since version="Added in API level 1" />
<exception cref="T:Java.Lang.IllegalArgumentException">if the initial capacity of
elements is negative
</exception>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ConcurrentHashMap (int initialCapacity, float loadFactor);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(int32 initialCapacity, float32 loadFactor) cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.#ctor(System.Int32,System.Single)" />
<MemberSignature Language="F#" Value="new Java.Util.Concurrent.ConcurrentHashMap : int * single -> Java.Util.Concurrent.ConcurrentHashMap" Usage="new Java.Util.Concurrent.ConcurrentHashMap (initialCapacity, loadFactor)" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register(".ctor", "(IF)V", "")]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register(".ctor", "(IF)V", "")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="initialCapacity" Type="System.Int32" />
<Parameter Name="loadFactor" Type="System.Single" />
</Parameters>
<Docs>
<param name="initialCapacity">the initial capacity. The implementation
performs internal sizing to accommodate this many elements,
given the specified load factor.</param>
<param name="loadFactor">the load factor (table density) for
establishing the initial table size</param>
<summary>Creates a new, empty map with an initial table size based on
the given number of elements (<c>initialCapacity</c>) and
initial table density (<c>loadFactor</c>).</summary>
<remarks>
<para>Creates a new, empty map with an initial table size based on
the given number of elements (<c>initialCapacity</c>) and
initial table density (<c>loadFactor</c>).</para>
<para>Added in 1.6.</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#ConcurrentHashMap(int,%20float)" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.ConcurrentHashMap(int, float)</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
<since version="Added in API level 9" />
<exception cref="T:Java.Lang.IllegalArgumentException">if the initial capacity of
elements is negative or the load factor is nonpositive</exception>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected ConcurrentHashMap (IntPtr javaReference, Android.Runtime.JniHandleOwnership transfer);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(native int javaReference, valuetype Android.Runtime.JniHandleOwnership transfer) cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.#ctor(System.IntPtr,Android.Runtime.JniHandleOwnership)" />
<MemberSignature Language="F#" Value="new Java.Util.Concurrent.ConcurrentHashMap : nativeint * Android.Runtime.JniHandleOwnership -> Java.Util.Concurrent.ConcurrentHashMap" Usage="new Java.Util.Concurrent.ConcurrentHashMap (javaReference, transfer)" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="javaReference" Type="System.IntPtr" />
<Parameter Name="transfer" Type="Android.Runtime.JniHandleOwnership" />
</Parameters>
<Docs>
<param name="javaReference">A <see cref="T:System.IntPtr" />containing a Java Native Interface (JNI) object reference.</param>
<param name="transfer">A <see cref="T:Android.Runtime.JniHandleOwnership" />indicating how to handle <paramref name="javaReference" /></param>
<summary>A constructor used when creating managed representations of JNI objects; called by the runtime.</summary>
<remarks>
<para>Portions of this page are modifications based on work created and shared by the <format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format> and used according to terms described in the <format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ConcurrentHashMap (int initialCapacity, float loadFactor, int concurrencyLevel);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(int32 initialCapacity, float32 loadFactor, int32 concurrencyLevel) cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.#ctor(System.Int32,System.Single,System.Int32)" />
<MemberSignature Language="F#" Value="new Java.Util.Concurrent.ConcurrentHashMap : int * single * int -> Java.Util.Concurrent.ConcurrentHashMap" Usage="new Java.Util.Concurrent.ConcurrentHashMap (initialCapacity, loadFactor, concurrencyLevel)" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register(".ctor", "(IFI)V", "")]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register(".ctor", "(IFI)V", "")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="initialCapacity" Type="System.Int32" />
<Parameter Name="loadFactor" Type="System.Single" />
<Parameter Name="concurrencyLevel" Type="System.Int32" />
</Parameters>
<Docs>
<param name="initialCapacity">the initial capacity. The implementation
performs internal sizing to accommodate this many elements,
given the specified load factor.</param>
<param name="loadFactor">the load factor (table density) for
establishing the initial table size</param>
<param name="concurrencyLevel">the estimated number of concurrently
updating threads. The implementation may use this value as
a sizing hint.</param>
<summary>Creates a new, empty map with an initial table size based on
the given number of elements (<c>initialCapacity</c>), initial
table density (<c>loadFactor</c>), and number of concurrently
updating threads (<c>concurrencyLevel</c>).</summary>
<remarks>
<para>Creates a new, empty map with an initial table size based on
the given number of elements (<c>initialCapacity</c>), initial
table density (<c>loadFactor</c>), and number of concurrently
updating threads (<c>concurrencyLevel</c>).</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#ConcurrentHashMap(int,%20float,%20int)" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.ConcurrentHashMap(int, float, int)</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
<since version="Added in API level 1" />
<exception cref="T:Java.Lang.IllegalArgumentException">if the initial capacity is
negative or the load factor or concurrencyLevel are
nonpositive
</exception>
</Docs>
</Member>
<Member MemberName="Compute">
<MemberSignature Language="C#" Value="public virtual Java.Lang.Object? Compute (Java.Lang.Object key, Java.Util.Functions.IBiFunction remappingFunction);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Java.Lang.Object Compute(class Java.Lang.Object key, class Java.Util.Functions.IBiFunction remappingFunction) cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.Compute(Java.Lang.Object,Java.Util.Functions.IBiFunction)" />
<MemberSignature Language="F#" Value="abstract member Compute : Java.Lang.Object * Java.Util.Functions.IBiFunction -> Java.Lang.Object
override this.Compute : Java.Lang.Object * Java.Util.Functions.IBiFunction -> Java.Lang.Object" Usage="concurrentHashMap.Compute (key, remappingFunction)" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Java.Util.Concurrent.IConcurrentMap.Java#Util#IMap#Compute(Java.Lang.Object,Java.Util.Functions.IBiFunction)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register("compute", "(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;", "GetCompute_Ljava_lang_Object_Ljava_util_function_BiFunction_Handler", ApiSince=24)]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register("compute", "(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;", "GetCompute_Ljava_lang_Object_Ljava_util_function_BiFunction_Handler", ApiSince=24)>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Runtime.Versioning.SupportedOSPlatform("android24.0")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.Versioning.SupportedOSPlatform("android24.0")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Java.Lang.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="Java.Lang.Object" />
<Parameter Name="remappingFunction" Type="Java.Util.Functions.IBiFunction" />
</Parameters>
<Docs>
<param name="key">key with which the specified value is to be associated</param>
<param name="remappingFunction">the function to compute a value</param>
<summary>Attempts to compute a mapping for the specified key and its
current mapped value (or <c>null</c> if there is no current
mapping).</summary>
<returns>the new value associated with the specified key, or null if none</returns>
<remarks>
<para>Attempts to compute a mapping for the specified key and its
current mapped value (or <c>null</c> if there is no current
mapping). The entire method invocation is performed atomically.
The supplied function is invoked exactly once per invocation of
this method. Some attempted update operations on this map by
other threads may be blocked while computation is in progress,
so the computation should be short and simple.</para>
<para>The remapping function must not modify this map during computation.</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#compute(K,%20java.util.function.BiFunction%3C?%20super%20K,%20?%20super%20V,%20?%20extends%20V%3E)" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.compute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
</Docs>
</Member>
<Member MemberName="ComputeIfAbsent">
<MemberSignature Language="C#" Value="public virtual Java.Lang.Object? ComputeIfAbsent (Java.Lang.Object key, Java.Util.Functions.IFunction mappingFunction);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Java.Lang.Object ComputeIfAbsent(class Java.Lang.Object key, class Java.Util.Functions.IFunction mappingFunction) cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.ComputeIfAbsent(Java.Lang.Object,Java.Util.Functions.IFunction)" />
<MemberSignature Language="F#" Value="abstract member ComputeIfAbsent : Java.Lang.Object * Java.Util.Functions.IFunction -> Java.Lang.Object
override this.ComputeIfAbsent : Java.Lang.Object * Java.Util.Functions.IFunction -> Java.Lang.Object" Usage="concurrentHashMap.ComputeIfAbsent (key, mappingFunction)" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Java.Util.Concurrent.IConcurrentMap.Java#Util#IMap#ComputeIfAbsent(Java.Lang.Object,Java.Util.Functions.IFunction)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register("computeIfAbsent", "(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;", "GetComputeIfAbsent_Ljava_lang_Object_Ljava_util_function_Function_Handler", ApiSince=24)]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register("computeIfAbsent", "(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;", "GetComputeIfAbsent_Ljava_lang_Object_Ljava_util_function_Function_Handler", ApiSince=24)>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Runtime.Versioning.SupportedOSPlatform("android24.0")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.Versioning.SupportedOSPlatform("android24.0")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Java.Lang.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="Java.Lang.Object" />
<Parameter Name="mappingFunction" Type="Java.Util.Functions.IFunction" />
</Parameters>
<Docs>
<param name="key">key with which the specified value is to be associated</param>
<param name="mappingFunction">the function to compute a value</param>
<summary>If the specified key is not already associated with a value,
attempts to compute its value using the given mapping function
and enters it into this map unless <c>null</c>.</summary>
<returns>the current (existing or computed) value associated with
the specified key, or null if the computed value is null</returns>
<remarks>
<para>If the specified key is not already associated with a value,
attempts to compute its value using the given mapping function
and enters it into this map unless <c>null</c>. The entire
method invocation is performed atomically. The supplied
function is invoked exactly once per invocation of this method
if the key is absent, else not at all. Some attempted update
operations on this map by other threads may be blocked while
computation is in progress, so the computation should be short
and simple.</para>
<para>The mapping function must not modify this map during computation.</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#computeIfAbsent(K,%20java.util.function.Function%3C?%20super%20K,%20?%20extends%20V%3E)" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>)</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
</Docs>
</Member>
<Member MemberName="ComputeIfPresent">
<MemberSignature Language="C#" Value="public virtual Java.Lang.Object? ComputeIfPresent (Java.Lang.Object key, Java.Util.Functions.IBiFunction remappingFunction);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Java.Lang.Object ComputeIfPresent(class Java.Lang.Object key, class Java.Util.Functions.IBiFunction remappingFunction) cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.ComputeIfPresent(Java.Lang.Object,Java.Util.Functions.IBiFunction)" />
<MemberSignature Language="F#" Value="abstract member ComputeIfPresent : Java.Lang.Object * Java.Util.Functions.IBiFunction -> Java.Lang.Object
override this.ComputeIfPresent : Java.Lang.Object * Java.Util.Functions.IBiFunction -> Java.Lang.Object" Usage="concurrentHashMap.ComputeIfPresent (key, remappingFunction)" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Java.Util.Concurrent.IConcurrentMap.Java#Util#IMap#ComputeIfPresent(Java.Lang.Object,Java.Util.Functions.IBiFunction)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register("computeIfPresent", "(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;", "GetComputeIfPresent_Ljava_lang_Object_Ljava_util_function_BiFunction_Handler", ApiSince=24)]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register("computeIfPresent", "(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;", "GetComputeIfPresent_Ljava_lang_Object_Ljava_util_function_BiFunction_Handler", ApiSince=24)>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Runtime.Versioning.SupportedOSPlatform("android24.0")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.Versioning.SupportedOSPlatform("android24.0")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Java.Lang.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="Java.Lang.Object" />
<Parameter Name="remappingFunction" Type="Java.Util.Functions.IBiFunction" />
</Parameters>
<Docs>
<param name="key">key with which a value may be associated</param>
<param name="remappingFunction">the function to compute a value</param>
<summary>If the value for the specified key is present, attempts to
compute a new mapping given the key and its current mapped
value.</summary>
<returns>the new value associated with the specified key, or null if none</returns>
<remarks>
<para>If the value for the specified key is present, attempts to
compute a new mapping given the key and its current mapped
value. The entire method invocation is performed atomically.
The supplied function is invoked exactly once per invocation of
this method if the key is present, else not at all. Some
attempted update operations on this map by other threads may be
blocked while computation is in progress, so the computation
should be short and simple.</para>
<para>The remapping function must not modify this map during computation.</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#computeIfPresent(K,%20java.util.function.BiFunction%3C?%20super%20K,%20?%20super%20V,%20?%20extends%20V%3E)" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.computeIfPresent(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
</Docs>
</Member>
<Member MemberName="Contains">
<MemberSignature Language="C#" Value="public virtual bool Contains (Java.Lang.Object value);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Contains(class Java.Lang.Object value) cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.Contains(Java.Lang.Object)" />
<MemberSignature Language="F#" Value="abstract member Contains : Java.Lang.Object -> bool
override this.Contains : Java.Lang.Object -> bool" Usage="concurrentHashMap.Contains value" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register("contains", "(Ljava/lang/Object;)Z", "GetContains_Ljava_lang_Object_Handler")]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register("contains", "(Ljava/lang/Object;)Z", "GetContains_Ljava_lang_Object_Handler")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="Java.Lang.Object" />
</Parameters>
<Docs>
<param name="value">a value to search for</param>
<summary>Tests if some key maps into the specified value in this table.</summary>
<returns>
<c>true</c> if and only if some key maps to the
<c>value</c> argument in this table as
determined by the <c>equals</c> method;
<c>false</c> otherwise</returns>
<remarks>
<para>Tests if some key maps into the specified value in this table.</para>
<para>Note that this method is identical in functionality to
<c>#containsValue(Object)</c>, and exists solely to ensure
full compatibility with class <c>java.util.Hashtable</c>,
which supported this method prior to introduction of the
Java Collections Framework.</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#contains(java.lang.Object)" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.contains(java.lang.Object)</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
<since version="Added in API level 1" />
<exception cref="T:Java.Lang.NullPointerException">if the specified value is null
</exception>
</Docs>
</Member>
<Member MemberName="Elements">
<MemberSignature Language="C#" Value="public virtual Java.Util.IEnumeration Elements ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Java.Util.IEnumeration Elements() cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.Elements" />
<MemberSignature Language="F#" Value="abstract member Elements : unit -> Java.Util.IEnumeration
override this.Elements : unit -> Java.Util.IEnumeration" Usage="concurrentHashMap.Elements " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register("elements", "()Ljava/util/Enumeration;", "GetElementsHandler")]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register("elements", "()Ljava/util/Enumeration;", "GetElementsHandler")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Java.Util.IEnumeration</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Returns an enumeration of the values in this table.</summary>
<returns>an enumeration of the values in this table</returns>
<remarks>
<para>Returns an enumeration of the values in this table.</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#elements()" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.elements()</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
<since version="Added in API level 1" />
</Docs>
</Member>
<Member MemberName="EntrySet">
<MemberSignature Language="C#" Value="public override System.Collections.ICollection EntrySet ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Collections.ICollection EntrySet() cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.EntrySet" />
<MemberSignature Language="F#" Value="override this.EntrySet : unit -> System.Collections.ICollection" Usage="concurrentHashMap.EntrySet " />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Java.Util.IMap.EntrySet</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register("entrySet", "()Ljava/util/Set;", "GetEntrySetHandler")]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register("entrySet", "()Ljava/util/Set;", "GetEntrySetHandler")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Collections.ICollection</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Returns a <c>Set</c> view of the mappings contained in this map.</summary>
<returns>the set view</returns>
<remarks>
<para>Returns a <c>Set</c> view of the mappings contained in this map.
The set is backed by the map, so changes to the map are
reflected in the set, and vice-versa. The set supports element
removal, which removes the corresponding mapping from the map,
via the <c>Iterator.remove</c>, <c>Set.remove</c>,
<c>removeAll</c>, <c>retainAll</c>, and <c>clear</c>
operations.</para>
<para>The view's iterators and spliterators are
<i>weakly consistent</i>.</para>
<para>The view's <c>spliterator</c> reports <c>Spliterator#CONCURRENT</c>,
<c>Spliterator#DISTINCT</c>, and <c>Spliterator#NONNULL</c>.</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#entrySet()" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.entrySet()</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
<since version="Added in API level 1" />
</Docs>
</Member>
<Member MemberName="ForEach">
<MemberSignature Language="C#" Value="public virtual void ForEach (Java.Util.Functions.IBiConsumer action);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ForEach(class Java.Util.Functions.IBiConsumer action) cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.ForEach(Java.Util.Functions.IBiConsumer)" />
<MemberSignature Language="F#" Value="abstract member ForEach : Java.Util.Functions.IBiConsumer -> unit
override this.ForEach : Java.Util.Functions.IBiConsumer -> unit" Usage="concurrentHashMap.ForEach action" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Java.Util.Concurrent.IConcurrentMap.Java#Util#IMap#ForEach(Java.Util.Functions.IBiConsumer)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register("forEach", "(Ljava/util/function/BiConsumer;)V", "GetForEach_Ljava_util_function_BiConsumer_Handler", ApiSince=24)]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register("forEach", "(Ljava/util/function/BiConsumer;)V", "GetForEach_Ljava_util_function_BiConsumer_Handler", ApiSince=24)>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Runtime.Versioning.SupportedOSPlatform("android24.0")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.Versioning.SupportedOSPlatform("android24.0")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="action" Type="Java.Util.Functions.IBiConsumer" />
</Parameters>
<Docs>
<param name="action">the action</param>
<summary>Performs the given action for each (key, value).</summary>
<remarks>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#forEach(long,%20java.util.function.BiConsumer)" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.forEach(long, java.util.function.BiConsumer)</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
</Docs>
</Member>
<Member MemberName="ForEach">
<MemberSignature Language="C#" Value="public virtual void ForEach (long parallelismThreshold, Java.Util.Functions.IBiConsumer action);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ForEach(int64 parallelismThreshold, class Java.Util.Functions.IBiConsumer action) cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.ForEach(System.Int64,Java.Util.Functions.IBiConsumer)" />
<MemberSignature Language="F#" Value="abstract member ForEach : int64 * Java.Util.Functions.IBiConsumer -> unit
override this.ForEach : int64 * Java.Util.Functions.IBiConsumer -> unit" Usage="concurrentHashMap.ForEach (parallelismThreshold, action)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register("forEach", "(JLjava/util/function/BiConsumer;)V", "GetForEach_JLjava_util_function_BiConsumer_Handler", ApiSince=24)]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register("forEach", "(JLjava/util/function/BiConsumer;)V", "GetForEach_JLjava_util_function_BiConsumer_Handler", ApiSince=24)>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Runtime.Versioning.SupportedOSPlatform("android24.0")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.Versioning.SupportedOSPlatform("android24.0")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="parallelismThreshold" Type="System.Int64" />
<Parameter Name="action" Type="Java.Util.Functions.IBiConsumer" />
</Parameters>
<Docs>
<param name="parallelismThreshold">the (estimated) number of elements
needed for this operation to be executed in parallel</param>
<param name="action">the action</param>
<summary>Performs the given action for each (key, value).</summary>
<remarks>
<para>Performs the given action for each (key, value).</para>
<para>Added in 1.8.</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#forEach(long,%20java.util.function.BiConsumer%3C?%20super%20K,%20?%20super%20V%3E)" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.forEach(long, java.util.function.BiConsumer<? super K, ? super V>)</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
</Docs>
</Member>
<Member MemberName="ForEach">
<MemberSignature Language="C#" Value="public virtual void ForEach (long parallelismThreshold, Java.Util.Functions.IBiFunction transformer, Java.Util.Functions.IConsumer action);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ForEach(int64 parallelismThreshold, class Java.Util.Functions.IBiFunction transformer, class Java.Util.Functions.IConsumer action) cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.ForEach(System.Int64,Java.Util.Functions.IBiFunction,Java.Util.Functions.IConsumer)" />
<MemberSignature Language="F#" Value="abstract member ForEach : int64 * Java.Util.Functions.IBiFunction * Java.Util.Functions.IConsumer -> unit
override this.ForEach : int64 * Java.Util.Functions.IBiFunction * Java.Util.Functions.IConsumer -> unit" Usage="concurrentHashMap.ForEach (parallelismThreshold, transformer, action)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register("forEach", "(JLjava/util/function/BiFunction;Ljava/util/function/Consumer;)V", "GetForEach_JLjava_util_function_BiFunction_Ljava_util_function_Consumer_Handler", ApiSince=24)]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register("forEach", "(JLjava/util/function/BiFunction;Ljava/util/function/Consumer;)V", "GetForEach_JLjava_util_function_BiFunction_Ljava_util_function_Consumer_Handler", ApiSince=24)>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[Java.Interop.JavaTypeParameters(new System.String[] { "U" })]</AttributeName>
<AttributeName Language="F#">[<Java.Interop.JavaTypeParameters(new System.String[] { "U" })>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Runtime.Versioning.SupportedOSPlatform("android24.0")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.Versioning.SupportedOSPlatform("android24.0")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="parallelismThreshold" Type="System.Int64" />
<Parameter Name="transformer" Type="Java.Util.Functions.IBiFunction" />
<Parameter Name="action" Type="Java.Util.Functions.IConsumer" />
</Parameters>
<Docs>
<param name="parallelismThreshold">the (estimated) number of elements
needed for this operation to be executed in parallel</param>
<param name="transformer">a function returning the transformation
for an element, or null if there is no transformation (in
which case the action is not applied)</param>
<param name="action">the action</param>
<param name="<U><U>">the return type of the transformer</param>
<summary>Performs the given action for each non-null transformation
of each (key, value).</summary>
<remarks>
<para>Performs the given action for each non-null transformation
of each (key, value).</para>
<para>Added in 1.8.</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#forEach(long,%20java.util.function.BiFunction%3C?%20super%20K,%20?%20super%20V,%20?%20extends%20U%3E,%20java.util.function.Consumer%3C?%20super%20U%3E)" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.forEach(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.Consumer<? super U>)</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
</Docs>
</Member>
<Member MemberName="ForEachEntry">
<MemberSignature Language="C#" Value="public virtual void ForEachEntry (long parallelismThreshold, Java.Util.Functions.IConsumer action);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ForEachEntry(int64 parallelismThreshold, class Java.Util.Functions.IConsumer action) cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Util.Concurrent.ConcurrentHashMap.ForEachEntry(System.Int64,Java.Util.Functions.IConsumer)" />
<MemberSignature Language="F#" Value="abstract member ForEachEntry : int64 * Java.Util.Functions.IConsumer -> unit
override this.ForEachEntry : int64 * Java.Util.Functions.IConsumer -> unit" Usage="concurrentHashMap.ForEachEntry (parallelismThreshold, action)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register("forEachEntry", "(JLjava/util/function/Consumer;)V", "GetForEachEntry_JLjava_util_function_Consumer_Handler", ApiSince=24)]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register("forEachEntry", "(JLjava/util/function/Consumer;)V", "GetForEachEntry_JLjava_util_function_Consumer_Handler", ApiSince=24)>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Runtime.Versioning.SupportedOSPlatform("android24.0")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.Versioning.SupportedOSPlatform("android24.0")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="parallelismThreshold" Type="System.Int64" />
<Parameter Name="action" Type="Java.Util.Functions.IConsumer" />
</Parameters>
<Docs>
<param name="parallelismThreshold">the (estimated) number of elements
needed for this operation to be executed in parallel</param>
<param name="action">the action</param>
<summary>Performs the given action for each entry.</summary>
<remarks>
<para>Performs the given action for each entry.</para>
<para>Added in 1.8.</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/util/concurrent/ConcurrentHashMap#forEachEntry(long,%20java.util.function.Consumer%3C?%20super%20java.util.Map.Entry%3CK,%20V%3E%3E)" title="Reference documentation">Java documentation for <code>java.util.concurrent.ConcurrentHashMap.forEachEntry(long, java.util.function.Consumer<? super java.util.Map.Entry<K, V>>)</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
</Docs>