Docs Menu
Docs Home
/ /
io.realm

Lista de reinos de clase

java.lang.Object

Interfaces implementadas:

RealmList se utiliza para modelar relaciones uno a muchos en un objeto io.realm.RealmObject. RealmList tiene dos modos: administrado y no administrado. En el modo administrado, todos los objetos se almacenan persistentemente dentro de un Realm; en el modo no administrado, funciona como un ArrayList normal.

Solo Realm puede crear RealmLists administradas. Estas listas actualizarán automáticamente el contenido cada vez que se actualice el Realm subyacente y solo se puede acceder a ellas mediante el getter de un objeto io.realm.RealmObject.

El usuario puede crear listas de dominios no administradas que contengan objetos de dominio administrados y no administrados. Esto resulta útil al trabajar con deserializadores JSON como GSON u otros frameworks que inyectan valores en una clase. Los elementos no administrados de esta lista se pueden agregar a un dominio mediante el método Realm.copyToRealm(Iterable, ImportFlag...).

RealmList puede contener más elementos que Integer.MAX_VALUE En ese caso, solo podrá acceder a los primeros Integer.MAX_VALUE elementos.

Constructor y descripción

Crea una RealmList en modo no gestionado, donde los elementos no están controlados por un Realm.

E[] objects
)

Crea una RealmList en modo no administrado con una lista inicial de elementos.

Modificador y Tipo
Campo y descripción

BaseRealmfinal público

baseRealm

La instancia de BaseRealm en la que reside esta lista.

Advertencia: Este campo sólo está expuesto para uso interno y no debe utilizarse.

Modificador y Tipo
Método y descripción

booleanopúblico

add (
E object
)

Agrega el objeto especificado al final de esta lista.

vacío público

add (
int location,
E element
)

Inserta el objeto especificado en esta lista en la ubicación especificada.

vacío público

vacío público

público <any>

Devuelve un Observable Rx que monitorea los cambios en esta RealmList.

público <any>

Devuelve un Rx Flowable que monitorea los cambios en esta RealmList.

doble público

String fieldName
)

Devuelve el promedio de un campo dado.

vacío público

Elimina todos los elementos de esta lista, dejándola vacía.

booleanopúblico

Object object
)

Devuelve true si la lista contiene el elemento especificado cuando se adjunta a un Reino.

Instantánea de colecciónpública de reinos ordenados

Crea una instantánea de esta OrderedRealmCollection.

booleanopúblico

Esto elimina todos los objetos de la colección, tanto del reino subyacente como de la colección.

booleanopúblico

Elimina el primer objeto del Reino.

vacío público

int location
)

Elimina el objeto en el índice dado del Reino.

booleanopúblico

Elimina el último objeto del Reino.

público E

E defaultValue
)

Obtiene el primer objeto de la colección.

público E

Obtiene el primer objeto de la colección.

público E

get (
int location
)

Devuelve el elemento en la ubicación especificada en esta lista.

public Realm

Devuelve la instancia de Realm a la que pertenece esta colección.

booleanopúblico

booleanopúblico

Comprueba si una colección ya ha terminado de cargar sus datos.

booleanopúblico

Comprueba si la colección está administrada por Realm.

booleanopúblico

Comprueba si la colección aún es válida para su uso, es decir, si la instancia io.realm.Realm no se ha cerrado.

público E

E defaultValue
)

Obtiene el último objeto de la colección.

público E

last ()

Obtiene el último objeto de la colección.

int location
)

booleanopúblico

load ()

Bloquea la recopilación hasta que todos los datos estén disponibles.

Númeropúblico

max (
String fieldName
)

Encuentra el valor máximo de un campo.

String fieldName
)

Encuentra la fecha máxima.

Númeropúblico

min (
String fieldName
)

Encuentra el valor mínimo de un campo.

String fieldName
)

Encuentra la fecha mínima.

vacío público

int oldPos,
int newPos
)

Mueve un objeto de una posición a otra, manteniendo una lista de tamaño fijo.

booleanopúblico

Object object
)

Elimina una instancia del objeto especificado de este Collection si hay uno incluido.

público E

int location
)

Elimina el objeto en la ubicación especificada de esta lista.

booleanopúblico

Elimina todas las ocurrencias en este Collection de cada objeto en el Collection ​​especificado.

vacío público

Elimina todos los escuchas de cambios definidos por el usuario.

vacío público

Elimina el detector de cambios especificado.

vacío público

público E

set (
int location,
E object
)

Reemplaza el elemento en la ubicación especificada en esta lista con el objeto especificado.

entero público

size ()

Devuelve el número de elementos en este List .

java.lang.String[] fieldNames,
io.realm.Sort[] sortOrders
)

Ordena una colección en función de los campos y órdenes de clasificación enviados.

String fieldName1,
Sort sortOrder1,
String fieldName2,
Sort sortOrder2
)

Ordena una colección en función de los campos y órdenes de clasificación enviados.

String fieldName,
Sort sortOrder
)

Ordena una colección según el campo proporcionado y el orden de clasificación.

String fieldName
)

Ordena una colección según el campo proporcionado en orden ascendente.

Númeropúblico

sum (
String fieldName
)

Calcula la suma de un campo dado.

Devuelve un RealmQuery, que se puede utilizar para consultar objetos específicos de esta clase.

  • Métodos heredados de la clase getClasshashCodeequalsclonetoStringnotifynotifyAllwaitwaitwaitjava.lang.Object:,,,,,,,,,, finalize

  • Métodos heredados de la clase iteratorsizeisEmptycontainstoArraytoArrayaddremovecontainsAlladdAllremoveAllretainAllclearjava.util.AbstractCollection:,,,,,,,,,,,,, toString

  • Métodos heredados de la clase addgetsetaddremoveindexOflastIndexOfclearaddAlliteratorlistIteratorlistIteratorsubListequalshashCodejava.util.AbstractList:,,,,,,,,,,,,,,, removeRange

La instancia de BaseRealm en la que reside esta lista.

Advertencia: Este campo sólo está expuesto para uso interno y no debe utilizarse.

public RealmList ()

Crea una RealmList en modo no administrado, donde los elementos no están controlados por un Realm. Esto hace que la RealmList funcione como una java.util.ArrayList y no es posible consultar los objetos en este estado.

Utilice io.realm.Realm.copyToRealm(Iterable, ImportFlag...) para que sus elementos persistan correctamente en Realm.

public RealmList (
E[] objects
)

Crea una RealmList en modo no administrado con una lista inicial de elementos. Una RealmList en modo no administrado funciona como una java.util.ArrayList y no es posible consultar los objetos en este estado.

Utilice io.realm.Realm.copyToRealm(Iterable, ImportFlag...) para conservar correctamente todos los elementos no administrados en Realm.

Parámetros

  • objects - objetos iniciales en la lista.

public boolean add (
E object
)

Agrega el objeto especificado al final de esta lista.

  1. Listas de dominios no administradas: Es posible agregar objetos administrados y no administrados. Si se agregan objetos administrados a una lista de dominios no administrada, no se volverán a copiar al dominio si se usa posteriormente Realm.copyToRealm(RealmModel, ImportFlag...).

  2. Listas de dominios administradas: Es posible agregar objetos no administrados a una lista de dominios ya administrada. En ese caso, el objeto se copiará de forma transparente a Realm mediante Realm.copyToRealm(RealmModel, ImportFlag...) o Realm.copyToRealmOrUpdate(RealmModel, ImportFlag...) si tiene una clave principal.

Parámetros

  • object - el objeto a agregar.

Devuelve

siempre true .

Lanzamientos

Anulaciones

add en la clase AbstractList

public void add (
int location,
E element
)

Inserta el objeto especificado en esta lista, en la ubicación indicada. El objeto se inserta antes de cualquier elemento anterior en la ubicación indicada. Si la ubicación es igual al tamaño de esta lista, el objeto se añade al final.

  1. Listas de dominios no administradas: Es posible agregar objetos administrados y no administrados. Si se agregan objetos administrados a una lista de dominios no administrada, no se volverán a copiar al dominio si se usa posteriormente Realm.copyToRealm(RealmModel, ImportFlag...).

  2. Listas de dominios administradas: Es posible agregar objetos no administrados a una lista de dominios ya administrada. En ese caso, el objeto se copiará de forma transparente a Realm mediante Realm.copyToRealm(RealmModel, ImportFlag...) o Realm.copyToRealmOrUpdate(RealmModel, ImportFlag...) si tiene una clave principal.

Parámetros

  • location - el índice en el que insertar.

  • element - el elemento a agregar.

Lanzamientos

Anulaciones

add en la clase AbstractList

Agrega un detector de cambios a esta RealmList.

Registrar un detector de cambios no impedirá que la RealmList subyacente sea objeto de recolección de basura. Si se realiza la recolección de basura de la RealmList, el detector de cambios dejará de activarse. Para evitar esto, mantenga una referencia fuerte durante el tiempo que sea necesario, por ejemplo, en una variable de clase.

public class MyActivity extends Activity {
private RealmList<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<RealmList<Dog>>() {
@Override
public void onChange(RealmList<Dog> dogs) {
// React to change
}
});
}
}

Parámetros

  • listener - el oyente de cambios que debe ser notificado.

Lanzamientos

Agrega un detector de cambios a esta RealmList.

Registrar un detector de cambios no impedirá que la RealmList subyacente sea objeto de recolección de basura. Si se realiza la recolección de basura de la RealmList, el detector de cambios dejará de activarse. Para evitar esto, mantenga una referencia fuerte durante el tiempo que sea necesario, por ejemplo, en una variable de clase.

public class MyActivity extends Activity {
private RealmList<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 OrderedRealmCollectionChangeListener<RealmList<Dog>>() {
@Override
public void onChange(RealmList<Dog> dogs, OrderedCollectionChangeSet changeSet) {
// React to change
}
});
}
}

Parámetros

  • listener - el oyente de cambios que debe ser notificado.

Lanzamientos

public <any> asChangesetObservable ()

Devuelve un Observable Rx que monitoriza los cambios en esta RealmList. Emitirá la RealmList actual al suscribirse. Por cada actualización de la RealmList, se enviará un par compuesto por la RealmList y el OrderedCollectionChangeSet. El conjunto de cambios será null la primera vez que se emita una RealmList.

RealmList se emitirá continuamente a medida que se actualice RealmList: onComplete nunca se llamará.

Los elementos emitidos desde los Observables de Realm están congelados (ver freeze()). Esto significa que son inmutables y se pueden leer en cualquier hilo.

Los observables de Realm siempre emiten elementos desde el hilo que contiene el Realm activo. Esto significa que, si necesita realizar más procesamiento, se recomienda observar los valores en un programador de cómputo:

list.asChangesetObservable()
.observeOn(Schedulers.computation())
.map((rxList, changes) -> doExpensiveWork(rxList, changes))
.observeOn(AndroidSchedulers.mainThread())
.subscribe( ... );

Devuelve

Observable de RxJava que solo llama a onNext . Nunca llamará a onComplete ni a OnError .

Lanzamientos

Tip

public <any> asFlowable ()

Devuelve un Rx Flowable que monitoriza los cambios en esta RealmList. Emitirá la RealmList actual al suscribirse. RealmList se emitirá continuamente a medida que se actualice; nunca se llamará a onComplete.

Los elementos emitidos desde Realm Flowables están congelados (ver freeze()). Esto significa que son inmutables y se pueden leer en cualquier hilo.

Los flujos de Realm siempre emiten elementos desde el hilo que contiene la RealmList activa. Esto significa que, si necesita realizar más procesamiento, se recomienda observar los valores en un programador de cálculos:

list.asFlowable()
.observeOn(Schedulers.computation())
.map(rxResults -> doExpensiveWork(rxResults))
.observeOn(AndroidSchedulers.mainThread())
.subscribe( ... );

Si desea que asFlowable() deje de emitir elementos, puede indicarle a RxJava que solo emita el primer elemento utilizando el operador first():

list.asFlowable()
.first()
.subscribe( ... ) // You only get the results once

Devuelve

Observable de RxJava que solo llama a onNext . Nunca llamará a onComplete ni a OnError .

Lanzamientos

public double average (
String fieldName
)

Devuelve el promedio de un campo dado.

Devuelve

el promedio del campo indicado entre los objetos de los resultados de la query. Esto será del tipo double para todos los campos de tipo numérico. Si no existen objetos o todos tienen null como valor para el campo dado, 0 será devuelto. Al calcular el promedio, se ignoran los objetos con valores null.

public void clear ()

Elimina todos los elementos de esta lista, dejándola vacía. Este método no elimina los objetos del dominio.

Lanzamientos

Anulaciones

clear en la clase AbstractList

public boolean contains (
Object object
)

Devuelve true si la lista contiene el elemento especificado al asociarse a un dominio. Este método consultará el motor de almacenamiento nativo subyacente del dominio para encontrar rápidamente el elemento especificado.

Si la lista no está asociada a un Reino, se realizará la implementación predeterminada de List.contains(Object).

Parámetros

  • object - el elemento cuya presencia en esta lista se va a comprobar.

Devuelve

true si esta lista contiene el elemento especificado; de lo contrario, false .

Anulaciones

contains en la clase AbstractCollection

Crea una instantánea de esta OrderedRealmCollection.

Devuelve

La instantánea de esta colección.

public boolean deleteAllFromRealm ()

Esto elimina todos los objetos de la colección, tanto del reino subyacente como de la colección.

Devuelve

true Si se eliminaron objetos, false en caso contrario.

public boolean deleteFirstFromRealm ()

Elimina el primer objeto del dominio. Esto también lo elimina de esta colección.

Devuelve

true si se eliminó un objeto, false en caso contrario.

public void deleteFromRealm (
int location
)

Elimina el objeto en el índice dado del dominio. Esto también lo elimina de la colección.

public boolean deleteLastFromRealm ()

Elimina el último objeto del dominio. Esto también lo elimina de esta colección.

Devuelve

true si se eliminó un objeto, false en caso contrario.

public E first (
E defaultValue
)

Obtiene el primer objeto de la colección. Si la colección está vacía, se usará el valor predeterminado proporcionado.

Devuelve

el primer objeto o el predeterminado proporcionado.

public E first ()

Obtiene el primer objeto de la colección.

Devuelve

El primer objeto.

public RealmList freeze ()

public E get (
int location
)

Devuelve el elemento en la ubicación especificada en esta lista.

Parámetros

  • location - el índice del elemento a devolver.

Devuelve

el elemento en el índice especificado.

Lanzamientos

Anulaciones

get en la clase AbstractList

public Realm getRealm ()

Devuelve la instancia de Realm a la que pertenece esta colección.

No se recomienda llamar a Realm.close() en la instancia devuelta, ya que es lo mismo que llamarlo en la instancia de Realm original, lo que puede provocar que Realm se cierre por completo e invalide la lista.

Devuelve

Instancia de reino a la que pertenece esta colección o null si la colección no está administrada.

Lanzamientos

public boolean isFrozen ()

public boolean isLoaded ()

Comprueba si una colección ya ha terminado de cargar sus datos.

Devuelve

true si se han cargado los datos y están disponibles, false si todavía se están cargando los datos.

public boolean isManaged ()

Comprueba si la colección está administrada por Realm. Una colección administrada es simplemente un contenedor de los datos del archivo Realm subyacente. En los subprocesos de Looper, una colección administrada se actualiza en tiempo real para que siempre apunte a los datos más recientes. Las colecciones administradas están confinadas en el subproceso, por lo que no se puede acceder a ellas desde otros subprocesos que no sean el que las creó. Si este método devuelve false , la colección no está administrada. Una colección no administrada es simplemente una colección Java normal, por lo que no se actualiza en tiempo real.

Devuelve

true si se trata de una RealmCollection administrada, en casofalse contrario.

public boolean isValid ()

Comprueba si la colección sigue siendo válida, es decir, si la instancia io.realm.Realm no se ha cerrado. Siempre devolverá true para una colección no administrada.

Devuelve

true si aún es válido para usar o es una colección no administrada, false en caso contrario.

public Iterator iterator ()

Anulaciones

iterator en la clase AbstractList

public E last (
E defaultValue
)

Obtiene el último objeto de la colección. Si la colección está vacía, se usará el valor predeterminado proporcionado.

Devuelve

el último objeto o el predeterminado proporcionado.

public E last ()

Obtiene el último objeto de la colección.

Devuelve

El último objeto.

int location
)

Anulaciones

listIterator en la clase AbstractList

Anulaciones

listIterator en la clase AbstractList

public boolean load ()

Bloquea la recopilación hasta que todos los datos estén disponibles.

Devuelve

true si los datos se pudieran cargar correctamente, false de lo contrario.

public Number max (
String fieldName
)

Encuentra el valor máximo de un campo.

Devuelve

Si no existen objetos o todos tienen null como valor para el campo dado, se devolverá null. De lo contrario, se devolverá el valor máximo. Al determinar el valor máximo, se ignoran los objetos con valores null.

public Date maxDate (
String fieldName
)

Encuentra la fecha máxima.

Devuelve

Si no existen objetos o si todos tienen null como valor para el campo de fecha dado, se devolverá null. De lo contrario, se devuelve la fecha máxima. Al determinar la fecha máxima, los objetos con valores null se ignoran.

public Number min (
String fieldName
)

Encuentra el valor mínimo de un campo.

Devuelve

si no existen objetos o todos tienen null como valor para el campo dado, se devolverá null. De lo contrario, se devuelve el valor mínimo. Al determinar el valor mínimo, se ignoran los objetos con valores null.

public Date minDate (
String fieldName
)

Encuentra la fecha mínima.

Devuelve

Si no existen objetos o todos tienen null como valor para el campo de fecha dado, se devolverá null. De lo contrario, se devolverá la fecha mínima. Al determinar la fecha mínima, se ignoran los objetos con valores null.

public void move (
int oldPos,
int newPos
)

Mueve un objeto de una posición a otra, manteniendo una lista de tamaño fijo. Los objetos Realm se desplazarán para que no se introduzcan valores null.

Parámetros

  • oldPos - índice de RealmObject a mover.

  • newPos - Posición objetivo. Si newPos < oldPos, el objeto en la ubicación se desplazará a la derecha. Si oldPos < newPos, los índices > oldPos se desplazarán una vez a la izquierda.

Lanzamientos

public boolean remove (
Object object
)

Elimina una instancia del objeto especificado de este Collection si contiene una. Esta implementación itera sobre este Collection y comprueba cada elemento e devuelto por el iterador para determinar si e es igual al objeto dado. Si es object != null, esta comprobación se realiza mediante object.equals(e) ; de lo contrario, mediante object == null . Si se encuentra un elemento igual al objeto dado, se llama al método remove en el iterador y se devuelve true; en caso contrario, se devuelve false. Si el iterador no admite la eliminación de elementos, se lanza un UnsupportedOperationException.

Parámetros

  • object - el objeto a eliminar.

Devuelve

true si se modifica este Collection, false en caso contrario.

Lanzamientos

Anulaciones

remove en la clase AbstractCollection

public E remove (
int location
)

Elimina el objeto en la ubicación especificada de esta lista.

Parámetros

  • location - el índice del objeto a eliminar.

Devuelve

el objeto eliminado.

Lanzamientos

Anulaciones

remove en la clase AbstractList

public boolean removeAll (
)

Elimina todas las ocurrencias en este Collection de cada objeto en el Collection ​​especificado. Después de que este método retorna, ninguno de los elementos en el Collection pasado se puede encontrar en este Collection.

Esta implementación itera sobre Collection y comprueba si cada elemento e devuelto por el iterador está contenido en el Collection especificado. Si la prueba es positiva, se llama al método remove en el iterador.

Parámetros

  • collection - la colección de objetos a eliminar.

Devuelve

true si se modifica este Collection, false en caso contrario.

Lanzamientos

Anulaciones

removeAll en la clase AbstractCollection

Elimina todos los escuchas de cambios definidos por el usuario.

Lanzamientos

Elimina el detector de cambios especificado.

Parámetros

  • listener - el detector de cambios que se eliminará.

Lanzamientos

Elimina el detector de cambios especificado.

Parámetros

  • listener - el detector de cambios que se eliminará.

Lanzamientos

public E set (
int location,
E object
)

Reemplaza el elemento en la ubicación especificada en esta lista con el objeto especificado.

  1. Listas de dominios no administradas: Es posible agregar objetos administrados y no administrados. Si se agregan objetos administrados a una lista de dominios no administrada, no se volverán a copiar al dominio si se usa posteriormente Realm.copyToRealm(RealmModel, ImportFlag...).

  2. Listas de dominios administradas: Es posible agregar objetos no administrados a una lista de dominios ya administrada. En ese caso, el objeto se copiará de forma transparente a Realm mediante Realm.copyToRealm(RealmModel, ImportFlag...) o Realm.copyToRealmOrUpdate(RealmModel, ImportFlag...) si tiene una clave principal.

Parámetros

  • location - el índice en el que colocar el objeto especificado.

  • object - el objeto a agregar.

Devuelve

el elemento anterior en el índice.

Lanzamientos

Anulaciones

set en la clase AbstractList

public int size ()

Devuelve el número de elementos en este List .

Devuelve

El número de elementos en este List .

Lanzamientos

Anulaciones

size en la clase AbstractCollection

java.lang.String[] fieldNames,
io.realm.Sort[] sortOrders
)

Ordena una colección en función de los campos y órdenes de clasificación enviados.

Devuelve

Se creará y devolverá un nuevo RealmResults ordenado. La colección original permanece intacta.

String fieldName1,
Sort sortOrder1,
String fieldName2,
Sort sortOrder2
)

Ordena una colección en función de los campos y órdenes de clasificación enviados.

Devuelve

Se creará y devolverá un nuevo RealmResults ordenado. La colección original permanece intacta.

String fieldName,
Sort sortOrder
)

Ordena una colección según el campo proporcionado y el orden de clasificación.

Devuelve

Se creará y devolverá un nuevo RealmResults ordenado. La colección original permanece intacta.

String fieldName
)

Ordena una colección según el campo proporcionado en orden ascendente.

Devuelve

Se creará y devolverá un nuevo RealmResults ordenado. La colección original permanece intacta.

public Number sum (
String fieldName
)

Calcula la suma de un campo dado.

Devuelve

La suma. Si no existen objetos o todos tienen null como valor para el campo dado, se devolverá 0. Al calcular la suma, se ignoran los objetos con valores null.

public String toString ()

Anulaciones

toString en la clase AbstractCollection

public RealmQuery where ()

Devuelve un RealmQuery, que se puede utilizar para consultar objetos específicos de esta clase.

Devuelve

un objeto RealmQuery.

Lanzamientos

Volver

RealmFieldType