パッケージ 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 は、キーを値にマッピングするために使用されます。 RealmMap には重複するキーを含めることはできず、各キーは最大 1 つの値にマップできます。 RealmMap はnullキーを持つことはできませんが、 null値を持つことができます。

    RealmListと同様に、RealmDictionary は管理モードと非管理モードで動作できます。 管理モードでは、RealmDictionary はすべての内容を Realm 内に保持しますが、非管理モードではHashMapのように機能します。

    管理された RealmDictionary は Realm によってのみ作成でき、基礎の Realm が更新されるたびにそのコンテンツを自動的に更新します。 管理された RealmDictionary には、 RealmObjectの RealmDictionary フィールドを示す getter を使用してのみアクセスできます。

    管理されていない RealmDictionary はユーザーによって作成され、管理対象と管理されていない RealmObjects の両方を含めることができます。 これは、GSON などの JSON のデシリアライズや、クラスに値を挿入するその他のフレームワークを処理する場合に便利です。 管理されていない RealmMaps は、 Realm.copyToRealm(Iterable, ImportFlag...)メソッドを使用して Realm に追加できます。

    • メソッドの詳細

      • isManaged

        公開ブール値 isManaged()
        次のによって指定されます。
        isManaged 内 インターフェース io.realm.internal.ManageableObject
      • isValid

        公開ブール値 isValid()
        次のによって指定されます。
        isValid 内 インターフェース io.realm.internal.ManageableObject
      • IsFrozen

        公開ブール値 isFrozen()
        次のによって指定されます。
        isFrozen 内 インターフェース io.realm.internal.ManageableObject
      • サイズ

        public int size()
        次のによって指定されます。
        size 内 インターフェース Map<K,​V>
      • isEmpty

        公開ブール値 isEmpty()
        次のによって指定されます。
        isEmpty 内 インターフェース Map<K,​V>
      • includeKey

        公開ブール値containsKey( @Nullable Object key)
        次のによって指定されます。
        containsKey 内 インターフェース Map<K,​V>
      • existsValue

        公開ブール値には 値が含まれます( @Nullable Object値)
        次のによって指定されます。
        containsValue 内 インターフェース Map<K,​V>
      • 得る

        public V get ( Object key)
        次のによって指定されます。
        get 内 インターフェース Map<K,​V>
      • 置く

        公開V put ( Kキー、 @Nullable V値)
        次のによって指定されます。
        put 内 インターフェース Map<K,​V>
      • putAll

        public void putAll​(Map<? extends K,​? extends V> m)
        次のによって指定されます。
        putAll 内 インターフェース Map<K,​V>
      • クリア

        public void clear()
        次のによって指定されます。
        clear 内 インターフェース Map<K,​V>
      • keySet

        public Set<K> keySet()
        次のによって指定されます。
        keySet 内 インターフェース Map<K,​V>
      • values

        public Collection<V> values()
        次のによって指定されます。
        values 内 インターフェース Map<K,​V>
      • EntrySet

        public Set<Map.Entry<K,​V>> entrySet()
        次のによって指定されます。
        entrySet 内 インターフェース Map<K,​V>
      • freeze

        public RealmMap<K,​V> freeze()
        次のによって指定されます。
        freeze 内 インターフェース io.realm.internal.Freezable<K>
      • addchangeLister

        public void addChangeListener​(MapChangeListener<K,​V> listener)
        このRealmMapに変更リスナーを追加します。

        変更リスナーを登録しても、基礎となる RealmMap がガベージされるのを防ぐものではありません。 If the RealmMap is garbage collected, the change listener will stop being triggered. これを回避するには、クラス変数内で適切な例がある限り、強力な参照を保持します。

         
         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 - 非 loader またはIntentServiceスレッドからリスナーを追加しようとする場合。
      • addchangeLister

        public void addChangeListener​(RealmChangeListener<RealmMap<K,​V>> listener)
        このRealmMapに変更リスナーを追加します。

        変更リスナーを登録しても、基礎となる RealmMap がガベージされるのを防ぐものではありません。 If the RealmMap is garbage collected, the change listener will stop being triggered. これを回避するには、クラス変数内で適切な例がある限り、強力な参照を保持します。

         
         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 - 非 loader またはIntentServiceスレッドからリスナーを追加しようとする場合。
        以下も参照してください。
        RealmChangeListener
      • deleteCheckLister

        public void removeChangeListener​(MapChangeListener<K,​V> listener)
        指定された変更リスナーを削除します。
        パラメーター:
        listener - 削除する変更リスナー。
        次の例外がスローされます。
        IllegalArgumentException - 変更リスナーがnullの場合。
        IllegalStateException - 非ルーパー スレッドからリスナーを削除しようとする場合。
      • deleteCheckLister

        public void removeChangeListener​(RealmChangeListener<RealmMap<K,​V>> listener)
        指定された変更リスナーを削除します。
        パラメーター:
        listener - 削除する変更リスナー。
        次の例外がスローされます。
        IllegalArgumentException - 変更リスナーがnullの場合。
        IllegalStateException - 非ルーパー スレッドからリスナーを削除しようとする場合。
        以下も参照してください。
        RealmChangeListener
      • deleteAllTimeListers

        public void removeAllChangeListeners()
        ユーザー定義のすべての変更リスナーを削除します。
        次の例外がスローされます。
        IllegalStateException - 非ループ スレッドからリスナーを削除しようとする場合。
        以下も参照してください。
        RealmChangeListener