Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/ / /

类 RealmSet

在此页面上

  • io.realm
  • 构造函数
  • 方法摘要
  • 继承方法
  • 构造函数详细信息
  • 方法详细信息
  • 添加
  • addAll
  • addChangeListener
  • 平均值
  • 清除
  • contains
  • containsAll
  • deleteAllFromRealm
  • 冻结
  • getValueClass
  • getValueClassName
  • isEmpty
  • IsFrozen
  • isLoaded
  • isManaged
  • isValid
  • 迭代器
  • 负载
  • Max
  • maxDate
  • min
  • minDate
  • 删除
  • 删除全部
  • 删除所有变更监听器
  • removeChangeListener
  • keepAll
  • size
  • 总和
  • toArray
  • WHERE
java.lang.Object
io.realm.RealmSet

实现的接口:

RealmSet 是一个不包含重复元素的集合。与RealmList 类似,RealmSet 可以在托管和非托管模式下运行。 在托管模式下,RealmSet 会将其所有内容持久保存在 Realm 中,而在非托管模式下,其功能类似于 HashSet

托管 RealmSet 只能由 Realm 创建,并且每当底层 Realm 更新时都会自动更新其内容。 托管 RealmSet 只能使用指向 RealmObject 的RealmSet字段的 getter 来访问。

可以使用Realm.copyToRealm(Iterable, ImportFlag...)方法将此集合中的非托管元素添加到 Realm 中。

警告:包含集合字段的类尚不支持以下方法:

构造函数和描述

以非托管模式实例化 RealmSet。

使用另一个collection以非托管模式实例化 RealmSet。

BaseRealm baseRealm,
OsSet osSet,
)

以托管模式实例化 RealmSet。

BaseRealm baseRealm,
OsSet osSet,
String className
)

以托管模式实例化 RealmSet。

修饰符和类型
方法和说明
公共布尔值
add (
E e
)
公共布尔值
public void

向此RealmSet添加变更侦听器。

public void
公共双精度
String fieldName
)

返回给定字段的平均值。

public void
公共布尔值

测试此 Collection是否包含指定对象。

公共布尔值
公共布尔值

这将从底层 Realm 以及集合中删除集合中的所有对象。

公共RealmSet
公共
公共string
公共布尔值
公共布尔值
公共布尔值

检查collection是否已完成数据加载。

公共布尔值

检查collection是否由Realm托管。

公共布尔值

检查collection是否仍可有效使用,即Realm实例尚未关闭。

公共布尔值
load ()

阻止collection,直到所有数据都可用。

公众
max (
String fieldName
)

查找字段的最大值。

公共 日期
String fieldName
)

查找最大日期。

公众
min (
String fieldName
)

查找字段的最小值。

公共 日期
String fieldName
)

查找最小日期。

公共布尔值
公共布尔值
public void

删除所有用户定义的变更侦听器。

public void

删除指定的变更侦听器。

public void
公共布尔值
公共整型
size ()

公众
sum (
String fieldName
)

计算给定字段的总和。

公共T
toArray <T >(
T[] a
)

返回一个 RealmQuery,可用于查询该类的特定对象。

  • 从类 java.lang.Object 继承的方法 :getClasshashCodeequalsclonetoStringnotifynotifyAllwaitwaitwaitfinalize

public RealmSet ()

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

使用另一个collection以非托管模式实例化 RealmSet。

参数

  • collection - 最初填充该集合的集合。

public RealmSet (
BaseRealm baseRealm,
OsSet osSet,
)

以托管模式实例化 RealmSet。 此构造函数由 Realm 在内部使用。

参数

  • baseRealm -

  • osSet -

  • valueClass -

public RealmSet (
BaseRealm baseRealm,
OsSet osSet,
String className
)

以托管模式实例化 RealmSet。 此构造函数由动态 Realm 在内部使用。

参数

  • baseRealm -

  • osSet -

  • className -

public boolean add (
E e
)

向此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 - 要通知的侦听器。

抛出异常

向此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 - 要通知的侦听器。

抛出异常

public double average (
String fieldName
)

返回给定字段的平均值。

返回:

查询结果中对象之间给定字段的平均值。对于所有类型的数字字段,该值的类型都是 double。如果对象不存在,或者给定字段的值为null ,则返回0 。计算平均值时,具有null值的对象将被忽略。

public void clear ()

public boolean contains (
)

测试此Collection是否包含指定对象。 true当且仅当此 中的至少一个元素elem Collection满足以下要求时,才返回 :(object==null ? elem==null : object.equals(elem))

返回:

true 如果对象是此Collection的元素,则为false ,否则。

public boolean deleteAllFromRealm ()

这将从底层 Realm 以及集合中删除集合中的所有对象。

返回:

true 如果删除了对象,则返回false

public RealmSet freeze ()

public boolean isEmpty ()

public boolean isFrozen ()

public boolean isLoaded ()

检查collection是否已完成数据加载。

返回:

true 如果数据已加载且可用,则如果仍在加载数据,则为false

public boolean isManaged ()

检查collection是否由Realm托管。一个托管的collection只是底层的Realm 文件中数据的包装器。在 Looper 线程上,托管 collection 将实时更新,因此它始终点向最新数据。托管集合具有线程限制,因此除了创建它们的线程之外,无法从其他线程访问托管集合。如果此方法返回false ,则该集合为非托管集合。 非托管集合只是普通的 Java 集合,因此不会实时更新。

返回:

true 如果这是一个托管RealmCollection ,则为false

public boolean isValid ()

检查集合是否仍可有效使用,即io.realm.Realm实例尚未关闭。 对于非托管collection,它将始终返回true

返回:

true 如果仍可使用,则为非托管collection,否则为false

public Iterator iterator ()

public boolean load ()

阻止collection,直到所有数据都可用。

返回:

true 如果可以成功加载数据,则为false

public Number max (
String fieldName
)

查找字段的最大值。

返回:

如果对象不存在,或者给定字段的值为null ,则返回null 。否则返回最大值。 确定最大值时,具有null值的对象将被忽略。

public Date maxDate (
String fieldName
)

查找最大日期。

返回:

如果对象不存在,或者给定日期字段的值为null ,则返回null 。否则,返回最大日期。 确定最大日期时,具有null值的对象将被忽略。

public Number min (
String fieldName
)

查找字段的最小值。

返回:

如果对象不存在,或者给定字段的值为null ,则返回null 。否则返回最小值。 确定最小值时,具有null值的对象将被忽略。

public Date minDate (
String fieldName
)

查找最小日期。

返回:

如果对象不存在,或者给定日期字段的值为null ,则返回null 。 否则,返回最小日期。 确定最小日期时,具有null值的对象将被忽略。

public boolean remove (
)

删除所有用户定义的变更侦听器。

抛出异常

提示

另请参阅:

删除指定的变更侦听器。

参数

  • listener - 要删除的变更侦听器。

抛出异常

删除指定的变更侦听器。

参数

  • listener - 要删除的变更侦听器。

抛出异常

public int size ()

public Number sum (
String fieldName
)

计算给定字段的总和。

返回:

总和。 如果对象不存在,或者给定字段的值为null ,则返回0 。计算总和时,具有null值的对象将被忽略。

public T toArray <T >(
T[] a
)
public Object toArray ()

public RealmQuery where ()

返回一个 RealmQuery,可用于查询该类的特定对象。

返回:

RealmQuery 对象。

抛出异常

提示

另请参阅:

后退

Realm 模式