Middle
Kokios duomenų struktūros Java yra sinchronizuotos, o kurios ne?
sobes.tech AI
Atsakymas iš AI
Java kalbant, kai kurios duomenų struktūros yra sinchronizuotos (saugios keliems gijų), o kai kurios — ne.
Sinchronizuotos:
Vector— sinchronizuotasArrayListanalogas.Hashtable— sinchronizuotasHashMapanalogas.Stack— paveldi išVector, todėl taip pat sinchronizuotas.- Kolekcijos, apgaubtos naudojant
Collections.synchronizedList(),synchronizedMap()ir pan. - Klasės iš
java.util.concurrentpaketo, pvz.,ConcurrentHashMap,CopyOnWriteArrayList.
Nesinchronizuotos:
ArrayListLinkedListHashMapHashSet
Jei norite naudoti nesinchronizuotą kolekciją daugiagijų aplinkoje, galite ją apgaubti sinchronizuota naudojant Collections metodus arba naudoti specializuotas java.util.concurrent klases.
Pavyzdys:
List<String> list = Collections.synchronizedList(new ArrayList<>());