安装包 io.realm

RealmSet<E> 类

    • 构造函数详细信息

      • RealmSet

        public RealmSet()
        以非托管模式实例化 RealmSet。
      • RealmSet

        public RealmSet​(Collection<E> collection)
        使用另一个collection以非托管模式实例化 RealmSet。
        参数:
        collection - 最初填充该集合的集合。
      • RealmSet

        public RealmSet​(io.realm.BaseRealm baseRealm,
                        io.realm.internal.OsSet osSet,
                        Class<E> valueClass)
        以托管模式实例化 RealmSet。 此构造函数由 Realm 在内部使用。
        参数:
        baseRealm -
        osSet -
        valueClass -
      • RealmSet

        public RealmSet​(io.realm.BaseRealm baseRealm,
                        io.realm.internal.OsSet osSet,
                        String className)
        以托管模式实例化 RealmSet。 此构造函数由动态 Realm 在内部使用。
        参数:
        baseRealm -
        osSet -
        className -
    • 方法详细信息

      • isManaged

        public boolean isManaged()
        检查collection是否由 Realm 托管。一个托管的collection只是底层 Realm 文件中数据的包装器。在 Looper 线程上,托管 collection 将实时更新,因此它始终点向最新数据。托管collection具有线程限制,因此除了创建它们的线程之外,无法从其他线程访问托管collection。

        如果此方法返回false ,则该集合为非托管集合。 非托管集合只是普通的 Java 集合,因此不会实时更新。

        指定者:
        isManaged 在接口中 io.realm.internal.ManageableObject
        指定者:
        isManaged 在接口中 RealmCollection<E>
        返回:
        true 如果这是托管RealmCollection ,否则为false
      • isValid

        public boolean isValid()
        检查collection是否仍可有效使用,即Realm实例尚未关闭。对于非托管collection,它将始终返回true
        指定者:
        isValid 在接口中 io.realm.internal.ManageableObject
        指定者:
        isValid 在接口中 RealmCollection<E>
        返回:
        true 如果仍可使用,则为非托管collection,否则为false
      • IsFrozen

        public boolean isFrozen()
        指定者:
        isFrozen 在接口中 io.realm.internal.ManageableObject
      • contains

        公共布尔包含( @Nullable 对象 o)
        测试此Collection是否包含指定对象。 Returns true if and only if at least one element elem in this Collection meets following requirement: (object==null ? elem==null : object.equals(elem)).
        指定者:
        contains 在接口中 Collection<E>
        指定者:
        contains 在接口中 RealmCollection<E>
        指定者:
        contains 在接口中 Set<E>
        参数:
        o - 要搜索的对象。
        返回:
        true 如果对象是此Collection的元素,则为false ,否则。
      • 冻结

        public RealmSet<E> freeze()
        指定者:
        freeze 在接口中 io.realm.internal.Freezable<E>
      • addChangeListener

        public void addChangeListener​(RealmChangeListener<RealmSet<E>> listener)
        向此RealmSet添加变更侦听器。

        注册变更侦听器不会阻止底层 RealmSet 被垃圾收集。 如果对 RealmSet 进行垃圾回收,则将停止触发变更侦听器。 为避免这种情况,请尽可能长时间地保留强引用,例如在类变量中。

         
         public class MyActivity extends Activity {
        
             private RealmSet<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<RealmSet<Dog>>() {
                   \@Override
                   public void onChange(RealmSet<Dog> map) {
                       // React to change
                   }
               });
             }
         }
         
         
        参数:
        listener - 要通知的侦听器。
        抛出异常:
        IllegalArgumentException - 如果变更侦听器为null
        IllegalStateException - 如果您尝试从非 事件循环 或IntentService线程添加侦听器。
      • addChangeListener

        public void addChangeListener​(SetChangeListener<E> listener)
        向此RealmSet添加变更侦听器。

        注册变更侦听器不会阻止底层 RealmSet 被垃圾收集。 如果对 RealmSet 进行垃圾回收,则将停止触发变更侦听器。 为避免这种情况,请尽可能长时间地保留强引用,例如在类变量中。

         
         public class MyActivity extends Activity {
        
             private RealmSet<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 SetChangeListener<Dog>() {
                   \@Override
                   public void onChange(RealmSet<Dog> set, SetChangeSet changeSet) {
                       // React to change
                   }
               });
             }
         }
         
         
        参数:
        listener - 要通知的侦听器。
        抛出异常:
        IllegalArgumentException - 如果变更侦听器为null
        IllegalStateException - 如果您尝试从非 事件循环 或IntentService线程添加侦听器。
      • removeChangeListener

        public void removeChangeListener​(SetChangeListener<E> listener)
        删除指定的变更侦听器。
        参数:
        listener - 要删除的变更侦听器。
        抛出异常:
        IllegalArgumentException - 如果变更侦听器为null
        IllegalStateException - 如果尝试从非 事件循环 线程中删除侦听器。
      • 删除所有变更监听器

        public void removeAllChangeListeners()
        删除所有用户定义的变更侦听器。
        抛出异常:
        IllegalStateException - 如果您尝试从非事件循环线程中删除侦听器。
        另请参阅:
        RealmChangeListener
      • min

        @Nullable public Number min​( String fieldName)
        查找字段的最小值。
        指定者:
        min 在接口中 RealmCollection<E>
        参数:
        fieldName - 查找最小值的字段。 仅支持数字字段。
        返回:
        如果对象不存在,或者给定字段的值为null ,则返回null 。否则返回最小值。 确定最小值时,具有null值的对象将被忽略。
      • Max

        @Nullable public Number max​( String fieldName)
        查找字段的最大值。
        指定者:
        max 在接口中 RealmCollection<E>
        参数:
        fieldName - 要查找最大值的字段。 仅支持数字字段。
        返回:
        如果对象不存在,或者给定字段的值为null ,则返回null 。否则返回最大值。 确定最大值时,具有null值的对象将被忽略。
      • 总和

        公共数字总和(字符串字段名称)
        计算给定字段的总和。
        指定者:
        sum 在接口中 RealmCollection<E>
        参数:
        fieldName - 要求和的字段。 仅支持数字字段。
        返回:
        总和。 如果对象不存在,或者给定字段的值为null ,则返回0 。计算总和时,具有null值的对象将被忽略。
      • 平均值

        公共双重平均值( String fieldName)
        返回给定字段的平均值。
        指定者:
        average 在接口中 RealmCollection<E>
        参数:
        fieldName - 计算平均值的字段。 仅支持数字字段。
        返回:
        查询结果中对象之间给定字段的平均值。对于所有类型的数字字段,该值的类型都是 double。如果对象不存在,或者给定字段的值为null ,则返回0 。计算平均值时,具有null值的对象将被忽略。
      • maxDate

        @Nullable public Date maxDate​( String fieldName)
        查找最大日期。
        指定者:
        maxDate 在接口中 RealmCollection<E>
        参数:
        fieldName - 查找最大日期的字段。 如果 fieldName 不是 Date 类型,则会抛出异常。
        返回:
        如果对象不存在,或者给定日期字段的值为null ,则返回null 。否则,返回最大日期。 确定最大日期时,具有null值的对象将被忽略。
      • minDate

        @Nullable public Date minDate​( String fieldName)
        查找最小日期。
        指定者:
        minDate 在接口中 RealmCollection<E>
        参数:
        fieldName - 查找最小日期的字段。如果 fieldName 不是 Date 类型,则会抛出异常。
        返回:
        如果对象不存在,或者给定日期字段的值为null ,则返回null 。 否则,返回最小日期。 确定最小日期时,具有null值的对象将被忽略。
      • deleteAllFromRealm

        public boolean deleteAllFromRealm()
        这将从底层 Realm 以及集合中删除集合中的所有对象。
        指定者:
        deleteAllFromRealm 在接口中 RealmCollection<E>
        返回:
        true 如果删除了对象,则返回false
      • isLoaded

        public boolean isLoaded()
        检查collection是否已完成数据加载。
        指定者:
        isLoaded 在接口中 RealmCollection<E>
        返回:
        true 如果数据已加载且可用,则如果仍在加载数据,则为false
      • 负载

        公共 boolean load()
        阻止collection,直到所有数据都可用。
        指定者:
        load 在接口中 RealmCollection<E>
        返回:
        true 如果可以成功加载数据,则为false
      • getValueClassName

        public String getValueClassName()
      • getValueClass

        public Class<E> getValueClass()