Classe RealmMap<K,V>
- java.lang.Object
-
- io.realm.RealmMap<K,V>
-
- Parâmetros do tipo:
K
- o tipo das chaves armazenadas neste mapaV
- o tipo dos valores armazenados neste mapa
- Todas as interfaces implementadas:
io.realm.internal.Freezable<RealmMap<K,V>>
,io.realm.internal.ManageableObject
,Map<K,V>
- Subclasses diretas conhecidas:
RealmDictionary
public abstract class RealmMap<K,V> extends Object implements Map<K,V>, io.realm.internal.ManageableObject, io.realm.internal.Freezable<RealmMap<K,V>>
O RealmMap é usado para mapear chaves para valores. Um RealmMap não pode conter chaves duplicadas e cada chave pode mapear para, no máximo, um valor. Um RealmMap não pode ternull
chaves, mas pode ternull
valores.Da mesma forma que
RealmList
s, um RealmDictionary pode operar nos modos managed e não managed. No modo managed, um RealmDictionary mantém todo o seu conteúdo dentro de um Realm, enquanto no modo não gerenciado ele funciona como umHashMap
.Os managed RealmDictionaries só podem ser criados pelo Realm e atualizarão automaticamente seu conteúdo sempre que o Realm subjacente for atualizado. Os managed RealmDictionary só podem ser acessados usando o getter que ponto para um campo RealmDictionary de um
RealmObject
.RealmDictionaries não managed podem ser criados pelo usuário e podem conter RealmObjects managed e não managed. Isso é útil ao lidar com desserializadores JSON como GSON ou outras estruturas que injetam valores em uma classe. Unmanaged RealmMaps can be added to a Realm using the
Realm.copyToRealm(Iterable, ImportFlag...)
method.
-
-
Resumo do método
Todos os métodos Métodos de instância Métodos concretos Modificador e tipo Método Descrição void
addChangeListener(MapChangeListener<K,V> listener)
Adiciona um ouvinte de alteração a esteRealmMap
.void
addChangeListener(RealmChangeListener<RealmMap<K,V>> listener)
Adiciona um ouvinte de alteração a esteRealmMap
.void
clear()
boolean
containsKey(Object key)
boolean
containsValue(Object value)
Set<Map.Entry<K,V>>
entrySet()
RealmMap<K,V>
freeze()
V
get(Object key)
boolean
isEmpty()
boolean
isFrozen()
boolean
isManaged()
boolean
isValid()
Set<K>
keySet()
V
put(K key, V value)
void
putAll(Map<? extends K,? extends V> m)
V
remove(Object key)
void
removeAllChangeListeners()
Remove todos os ouvintes de alterações definidos pelo usuário.void
removeChangeListener(MapChangeListener<K,V> listener)
Remove o ouvinte de alterações especificado.void
removeChangeListener(RealmChangeListener<RealmMap<K,V>> listener)
Remove o ouvinte de alterações especificado.int
size()
Collection<V>
values()
-
Métodos herdados da classe java.lang.objeto
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Métodos herdados da interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
Detalhes do método
-
isManaged
public boolean isManaged()
- Especificado por:
isManaged
na interfaceio.realm.internal.ManageableObject
-
é válido
public boolean isValid()
- Especificado por:
isValid
na interfaceio.realm.internal.ManageableObject
-
IsFrozen
public boolean isFrozen()
- Especificado por:
isFrozen
na interfaceio.realm.internal.ManageableObject
-
containsKey
boolean público contémKey(@Nullable objeto chave)
- Especificado por:
containsKey
na interfaceMap<K,V>
-
contémValor
public boolean containsValue(@Nullable objeto value)
- Especificado por:
containsValue
na interfaceMap<K,V>
-
congelar
public RealmMap<K,V> freeze()
- Especificado por:
freeze
na interfaceio.realm.internal.Freezable<K>
-
addChangeListener
public void addChangeListener(MapChangeListener<K,V> listener)
Adiciona um ouvinte de alteração a esteRealmMap
.Registrar um ouvinte de alterações não impedirá que o RealmMap subjacente seja coletado o lixo. Se o RealmMap for coletado como lixo, o ouvinte de alterações deixará de ser acionado. Para evitar isso, mantenha uma referência forte pelo tempo apropriado, por exemplo, em uma variável de classe.
public class MyActivity extends Activity { private RealmMap<String, Dog> dogs; // Strong reference to keep listeners alive \@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); dogs = realm.where(Person.class).findFirst().getDogs(); dogs.addChangeListener(new MapChangeListener<String, Dog>() { \@Override public void onChange(RealmMap<String, Dog> map, MapChangeSet<String> changeSet) { // React to change } }); } }
- Parâmetros:
listener
- o ouvinte de alterações a ser notificado.- Lançamentos:
IllegalArgumentException
- se o ouvinte de alterações fornull
.IllegalStateException
- se você tentar adicionar um ouvinte de um tópico que não seja do Looper ouIntentService
.
-
addChangeListener
public void addChangeListener(RealmChangeListener<RealmMap<K,V>> listener)
Adiciona um ouvinte de alteração a esteRealmMap
.Registrar um ouvinte de alterações não impedirá que o RealmMap subjacente seja coletado o lixo. Se o RealmMap for coletado como lixo, o ouvinte de alterações deixará de ser acionado. Para evitar isso, mantenha uma referência forte pelo tempo apropriado, por exemplo, em uma variável de classe.
public class MyActivity extends Activity { private RealmMap<String, Dog> dogs; // Strong reference to keep listeners alive \@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); dogs = realm.where(Person.class).findFirst().getDogs(); dogs.addChangeListener(new RealmChangeListener<RealmMap<String, Dog>>() { \@Override public void onChange(RealmMap<String, Dog> map) { // React to change } }); } }
- Parâmetros:
listener
- o ouvinte de alterações a ser notificado.- Lançamentos:
IllegalArgumentException
- se o ouvinte de alterações fornull
.IllegalStateException
- se você tentar adicionar um ouvinte de um tópico que não seja do Looper ouIntentService
.- Veja também:
RealmChangeListener
-
removeChangeListener
public void removeChangeListener(MapChangeListener<K,V> listener)
Remove o ouvinte de alterações especificado.- Parâmetros:
listener
- o ouvinte de alterações a ser removido.- Lançamentos:
IllegalArgumentException
- se o ouvinte de alterações fornull
.IllegalStateException
- se você tentar remover um ouvinte de um thread não loop de eventos.
-
removeChangeListener
public void removeChangeListener(RealmChangeListener<RealmMap<K,V>> listener)
Remove o ouvinte de alterações especificado.- Parâmetros:
listener
- o ouvinte de alterações a ser removido.- Lançamentos:
IllegalArgumentException
- se o ouvinte de alterações fornull
.IllegalStateException
- se você tentar remover um ouvinte de um thread não loop de eventos.- Veja também:
RealmChangeListener
-
Remover todos os ouvintes de alterações
public void removeAllChangeListeners()
Remove todos os ouvintes de alterações definidos pelo usuário.- Lançamentos:
IllegalStateException
- se você tentar remover ouvintes de um thread que não seja do loop de eventos.- Veja também:
RealmChangeListener
-
-