클래스 RealmMap<K,V>
- java.lang.Object
-
- io.realm.RealmMap<K,V>
-
- 유형 매개변수:
K
- 이 맵에 저장된 키의 유형V
- 이 맵에 저장된 값의 유형
- 구현된 모든 인터페이스:
io.realm.internal.Freezable<RealmMap<K,V>>
,io.realm.internal.ManageableObject
,Map<K,V>
- 직접적으로 알려진 하위 클래스:
RealmDictionary
public abstract class RealmMap<K,V> extends Object implements Map<K,V>, io.realm.internal.ManageableObject, io.realm.internal.Freezable<RealmMap<K,V>>
RealmMap is used to map keys to values. RealmMap은 중복 키를 포함할 수 없으며 각 키는 최대 하나의 값에 매핑할 수 있습니다. RealmMap은null
키를 가질 수 없지만null
값은 가질 수 있습니다.RealmList
와 마찬가지로 RealmDictionary는 managed 모드와 비관리 모드에서 작동할 수 있습니다. In managed mode a RealmDictionary persists all its contents inside a Realm whereas in unmanaged mode it functions like aHashMap
.managed RealmDictionaries는 Realm에서만 만들 수 있으며 기본 Realm이 업데이트될 때마다 해당 콘텐츠가 자동으로 업데이트됩니다. managed RealmDictionaries는
RealmObject
의 필드를 가리키는 게터를 사용해서만 액세스할 수 있습니다.Unmanaged RealmDictionaries는 사용자가 만들 수 있으며 managed RealmObject와 unmanaged RealmObject를 모두 포함할 수 있습니다. 이는 GSON과 같은 JSON 디시리얼라이저 또는 클래스에 값을 삽입하는 다른 프레임워크를 처리할 때 유용합니다. 관리되지 않는 RealmMap은
Realm.copyToRealm(Iterable, ImportFlag...)
메서드를 사용하여 Realm에 추가할 수 있습니다.
-
-
메서드 요약
모든 메서드 인스턴스 메서드 구체적인 방법 수정자 및 유형 메서드 설명 void
addChangeListener(MapChangeListener<K,V> listener)
이RealmMap
에 변경 리스너를 추가합니다.void
addChangeListener(RealmChangeListener<RealmMap<K,V>> listener)
이RealmMap
에 변경 리스너를 추가합니다.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()
모든 사용자 정의 변경 수신기를 제거합니다.void
removeChangeListener(MapChangeListener<K,V> listener)
지정된 변경 리스너를 제거합니다.void
removeChangeListener(RealmChangeListener<RealmMap<K,V>> listener)
지정된 변경 리스너를 제거합니다.int
size()
Collection<V>
values()
-
클래스 java.lang에서 상속된 메소드입니다.객체
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
인터페이스 java.util에서 상속된 메소드입니다.지도
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
메서드 세부 정보
-
isManaged
public boolean isManaged()
- 다음에 의해 지정됩니다:
isManaged
인터페이스에서io.realm.internal.ManageableObject
-
isValid
공개 부울 isValid()
- 다음에 의해 지정됩니다:
isValid
인터페이스에서io.realm.internal.ManageableObject
-
IsFrozen
공개 부울 isFrozen()
- 다음에 의해 지정됩니다:
isFrozen
인터페이스에서io.realm.internal.ManageableObject
-
addChangeListener
public void addChangeListener(MapChangeListener<K,V> listener)
이RealmMap
에 변경 리스너를 추가합니다.변경 리스너를 등록해도 기본 RealmMap이 가비지 수집되는 것을 방지할 수는 없습니다. RealmMap이 가비지 수집되면 변경 리스너 트리거가 중지됩니다. 이를 방지하려면 클래스 변수와 같이 적절한 길이로 강력한 참고를 유지하세요.
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 } }); } }
- 매개변수:
listener
- 알림을 받을 변경 리스너입니다.- 예외 처리:
IllegalArgumentException
- 변경 리스너가null
인 경우IllegalStateException
- 이벤트 루프가 아닌 또는IntentService
스레드에서 리스너를 추가하려고 하는 경우.
-
addChangeListener
public void addChangeListener(RealmChangeListener<RealmMap<K,V>> listener)
이RealmMap
에 변경 리스너를 추가합니다.변경 리스너를 등록해도 기본 RealmMap이 가비지 수집되는 것을 방지할 수는 없습니다. RealmMap이 가비지 수집되면 변경 리스너 트리거가 중지됩니다. 이를 방지하려면 클래스 변수와 같이 적절한 길이로 강력한 참고를 유지하세요.
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 } }); } }
- 매개변수:
listener
- 알림을 받을 변경 리스너입니다.- 예외 처리:
IllegalArgumentException
- 변경 리스너가null
인 경우IllegalStateException
- 이벤트 루프가 아닌 또는IntentService
스레드에서 리스너를 추가하려고 하는 경우.- 다음도 참조하세요.
RealmChangeListener
-
removeChangeListener
public void removeChangeListener(MapChangeListener<K,V> listener)
지정된 변경 리스너를 제거합니다.- 매개변수:
listener
- 제거할 변경 리스너입니다.- 예외 처리:
IllegalArgumentException
- 변경 리스너가null
인 경우IllegalStateException
- 이벤트 루프가 아닌 스레드에서 리스너를 제거하려고 하는 경우.
-
removeChangeListener
public void removeChangeListener(RealmChangeListener<RealmMap<K,V>> listener)
지정된 변경 리스너를 제거합니다.- 매개변수:
listener
- 제거할 변경 리스너입니다.- 예외 처리:
IllegalArgumentException
- 변경 리스너가null
인 경우IllegalStateException
- 이벤트 루프가 아닌 스레드에서 리스너를 제거하려고 하는 경우.- 다음도 참조하세요.
RealmChangeListener
-
모든 변경 리스너 제거
public void removeAllChangeListeners()
모든 사용자 정의 변경 수신기를 제거합니다.- 예외 처리:
IllegalStateException
- 이벤트 루프가 아닌 스레드에서 리스너를 제거하려고 하는 경우.- 다음도 참조하세요.
RealmChangeListener
-
-