安装包 io.realm
接口 RealmCollection<E>
-
- 类型参数:
E
— 存储在集合中的RealmObject
类型。
- 所有超级接口:
Collection<E>
,io.realm.internal.Freezable<RealmCollection<E>>
,Iterable<E>
,io.realm.internal.ManageableObject
- 所有已知子接口:
OrderedRealmCollection<E>
- 所有已知的实现类:
OrderedRealmCollectionSnapshot
,RealmList
,RealmResults
,RealmSet
public interface RealmCollection<E> extends Collection<E>, io.realm.internal.ManageableObject, io.realm.internal.Freezable<RealmCollection<E>>
RealmCollection
是 Realm 支持的 collection 层次结构的根。它定义了对collection的操作以及这些操作在RealmCollection
的所有实现中的行为。Realm collection是底层数据的“实时”视图。这意味着它们将自动保持最新。 因此,使用
Collections.unmodifiableCollection(Collection)
等方法无法阻止collection被修改。
-
-
方法摘要
所有方法 实例方法 抽象方法 修饰符和类型 方法 说明 double
average(String fieldName)
返回给定字段的平均值。boolean
contains(Object object)
测试此Collection
是否包含指定对象。boolean
deleteAllFromRealm()
这将从底层 Realm 以及集合中删除集合中的所有对象。boolean
isLoaded()
检查collection是否已完成数据加载。boolean
isManaged()
检查collection是否由Realm托管。boolean
isValid()
检查collection是否仍可有效使用,即Realm
实例尚未关闭。boolean
load()
阻止collection,直到所有数据都可用。Number
max(String fieldName)
查找字段的最大值。Date
maxDate(String fieldName)
查找最大日期。Number
min(String fieldName)
查找字段的最小值。Date
minDate(String fieldName)
查找最小日期。Number
sum(String fieldName)
计算给定字段的总和。RealmQuery<E>
where()
返回一个RealmQuery
,可用于从此集合中查询特定对象。-
从接口 java.util 继承的方法collection
add, addAll, clear, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray
-
-
-
-
方法详细信息
-
WHERE
RealmQuery < E > where()
返回一个RealmQuery
,可用于从此集合中查询特定对象。- 返回:
- RealmQuery 对象。
- 抛出异常:
IllegalStateException
- 如果 Realm 实例已关闭或查询不可用。- 另请参阅:
RealmQuery
-
min
@Nullable 数字最小值( String fieldName)
查找字段的最小值。- 参数:
fieldName
- 查找最小值的字段。 仅支持数字字段。- 返回:
- 如果对象不存在,或者给定字段的值为
null
,则返回null
。否则返回最小值。 确定最小值时,具有null
值的对象将被忽略。 - 抛出异常:
IllegalArgumentException
- 如果字段不是数字类型。IllegalStateException
- 如果 Realm 已关闭或从不正确的线程调用。
-
Max
@Nullable Number max( String fieldName)
查找字段的最大值。- 参数:
fieldName
- 要查找最大值的字段。 仅支持数字字段。- 返回:
- 如果对象不存在,或者给定字段的值为
null
,则返回null
。否则返回最大值。 确定最大值时,具有null
值的对象将被忽略。 - 抛出异常:
IllegalArgumentException
- 如果字段不是数字类型。IllegalStateException
- 如果 Realm 已关闭或从不正确的线程调用。
-
总和
数字总和(字符串字段名称)
计算给定字段的总和。- 参数:
fieldName
- 要求和的字段。 仅支持数字字段。- 返回:
- 总和。 如果对象不存在,或者给定字段的值为
null
,则返回0
。计算总和时,具有null
值的对象将被忽略。 - 抛出异常:
IllegalArgumentException
- 如果字段不是数字类型。IllegalStateException
- 如果 Realm 已关闭或从不正确的线程调用。
-
平均值
双重平均( String fieldName)
返回给定字段的平均值。- 参数:
fieldName
- 计算平均值的字段。 仅支持数字字段。- 返回:
- 查询结果中对象之间给定字段的平均值。对于所有类型的数字字段,该值的类型都是 double。如果对象不存在,或者给定字段的值为
null
,则返回0
。计算平均值时,具有null
值的对象将被忽略。 - 抛出异常:
IllegalArgumentException
- 如果字段不是数字类型。IllegalStateException
- 如果 Realm 已关闭或从不正确的线程调用。
-
maxDate
@Nullable 日期maxDate( String fieldName)
查找最大日期。- 参数:
fieldName
- 查找最大日期的字段。 如果 fieldName 不是 Date 类型,则会抛出异常。- 返回:
- 如果对象不存在,或者给定日期字段的值为
null
,则返回null
。否则,返回最大日期。 确定最大日期时,具有null
值的对象将被忽略。 - 抛出异常:
IllegalArgumentException
- 如果 fieldName 不是日期字段。IllegalStateException
- 如果 Realm 已关闭或从不正确的线程调用。
-
minDate
@Nullable 日期minDate( String fieldName)
查找最小日期。- 参数:
fieldName
- 查找最小日期的字段。如果 fieldName 不是 Date 类型,则会抛出异常。- 返回:
- 如果对象不存在,或者给定日期字段的值为
null
,则返回null
。 否则,返回最小日期。 确定最小日期时,具有null
值的对象将被忽略。 - 抛出异常:
IllegalArgumentException
- 如果 fieldName 不是日期字段。IllegalStateException
- 如果 Realm 已关闭或从不正确的线程调用。
-
deleteAllFromRealm
boolean deleteAllFromRealm()
这将从底层 Realm 以及集合中删除集合中的所有对象。- 返回:
true
如果删除了对象,则返回false
。- 抛出异常:
IllegalStateException
- 如果相应的 Realm 已关闭或位于不正确的线程中。IllegalStateException
- 如果 Realm 已关闭或从不正确的线程调用。
-
isLoaded
boolean isLoaded()
检查collection是否已完成数据加载。- 返回:
true
如果数据已加载且可用,则如果仍在加载数据,则为false
。
-
负载
boolean load()
阻止collection,直到所有数据都可用。- 返回:
true
如果可以成功加载数据,则为false
。
-
isValid
boolean isValid()
检查collection是否仍可有效使用,即Realm
实例尚未关闭。对于非托管collection,它将始终返回true
。- 指定者:
isValid
在接口中io.realm.internal.ManageableObject
- 返回:
true
如果仍可使用,则为非托管collection,否则为false
。
-
isManaged
boolean isManaged()
检查collection是否由 Realm 托管。一个托管的collection只是底层 Realm 文件中数据的包装器。在 Looper 线程上,托管 collection 将实时更新,因此它始终点向最新数据。托管collection具有线程限制,因此除了创建它们的线程之外,无法从其他线程访问托管collection。如果此方法返回
false
,则该集合为非托管集合。 非托管集合只是普通的 Java 集合,因此不会实时更新。- 指定者:
isManaged
在接口中io.realm.internal.ManageableObject
- 返回:
true
如果这是托管RealmCollection
,否则为false
。
-
contains
布尔值包含( @Nullable Object对象)
测试此Collection
是否包含指定对象。 Returnstrue
if and only if at least one elementelem
in thisCollection
meets following requirement:(object==null ? elem==null : object.equals(elem))
.- 指定者:
contains
在接口中Collection<E>
- 参数:
object
- 要搜索的对象。- 返回:
true
如果对象是此Collection
的元素,则为false
,否则。- 抛出异常:
NullPointerException
- 如果要查找的对象是null
,并且此Collection
不支持null
元素。
-
-