클래스 RealmList<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- io.realm.RealmList<E>
-
- 유형 매개변수:
E
- 목록에 있는 객체의 클래스입니다.
- 구현된 모든 인터페이스:
io.realm.internal.Freezable<RealmCollection<E>>
,io.realm.internal.ManageableObject
,OrderedRealmCollection<E>
,RealmCollection<E>
,Iterable<E>
,Collection<E>
,List<E>
public class RealmList<E> extends AbstractList<E> implements OrderedRealmCollection<E>
RealmList는RealmObject
에서 일대다 관계를 모델링하는 데 사용됩니다. RealmList에는 managed 모드와 비관리 모드, 이렇게 두 가지 모드가 있습니다. managed 모드에서는 모든 객체가 Realm 내에 유지되지만 관리되지 않는 모드에서는 일반 ArrayList로 작동합니다.Realm만이 managed RealmList를 만들 수 있습니다. managed RealmList는 기본 Realm이 업데이트될 때마다 콘텐츠를 자동으로 업데이트하며
RealmObject
의 게터를 사용해서만 액세스할 수 있습니다.관리되지 않는 RealmList는 사용자가 만들 수 있으며 managed RealmObject와 관리되지 않는 RealmObject를 모두 포함할 수 있습니다. 이는 GSON과 같은 JSON 디시리얼라이저 또는 클래스에 값을 삽입하는 다른 프레임워크를 처리할 때 유용합니다. 이 목록의 관리되지 않는 요소는
Realm.copyToRealm(Iterable, ImportFlag...)
메서드를 사용하여 Realm에 추가할 수 있습니다.RealmList
는Integer.MAX_VALUE
보다 더 많은 요소를 포함할 수 있습니다. 이 경우 처음Integer.MAX_VALUE
요소에만 액세스할 수 있습니다.
-
-
필드 요약
필드 수정자 및 유형 필드 설명 io.realm.BaseRealm
baseRealm
이 목록이 있는BaseRealm
인스턴스입니다.
-
메서드 요약
모든 메서드 인스턴스 메서드 구체적인 방법 수정자 및 유형 메서드 설명 void
add(int location, E element)
이 목록의 지정된 위치에 지정된 객체를 삽입합니다.boolean
add(E object)
지정된 객체를 이 목록의 끝에 추가합니다.void
addChangeListener(OrderedRealmCollectionChangeListener<RealmList<E>> listener)
이RealmList
에 변경 리스너를 추가합니다.void
addChangeListener(RealmChangeListener<RealmList<E>> listener)
이RealmList
에 변경 리스너를 추가합니다.Observable<CollectionChange<RealmList<E>>>
asChangesetObservable()
이 RealmList의 변경 사항을 모니터링하는 Rx Observable을 반환합니다.Flowable<RealmList<E>>
asFlowable()
이 RealmList의 변경 사항을 모니터링하는 Rx Flowable을 반환합니다.double
average(String fieldName)
지정된 필드의 평균을 반환합니다.void
clear()
이 목록에서 모든 요소를 제거하고 비워 둡니다.boolean
contains(Object object)
Realm에 연결될 때 목록에 지정된 요소가 포함되어 있으면true
를 반환합니다.OrderedRealmCollectionSnapshot<E>
createSnapshot()
이OrderedRealmCollection
에서 스냅샷을 생성합니다.boolean
deleteAllFromRealm()
이렇게 하면 collection뿐만 아니라 기본 Realm에서도 collection의 모든 객체가 삭제됩니다.boolean
deleteFirstFromRealm()
Realm에서 첫 번째 객체를 삭제합니다.void
deleteFromRealm(int location)
Realm에서 지정된 인덱스에 있는 객체를 삭제합니다.boolean
deleteLastFromRealm()
Realm에서 마지막 객체를 삭제합니다.E
first()
컬렉션에서 첫 번째 객체를 가져옵니다.E
first(E defaultValue)
컬렉션에서 첫 번째 객체를 가져옵니다.RealmList<E>
freeze()
E
get(int location)
이 목록의 지정된 위치에 있는 요소를 반환합니다.Realm
getRealm()
이 collection이 속한Realm
인스턴스를 반환합니다.boolean
isFrozen()
boolean
isLoaded()
collection이 아직 데이터 로드를 완료했는지 확인합니다.boolean
isManaged()
collection이 Realm에서 managed 확인합니다.boolean
isValid()
collection이 여전히 사용하기에 유효한지, 즉Realm
인스턴스가 닫히지 않은지 확인합니다.Iterator<E>
iterator()
E
last()
collection에서 마지막 객체를 가져옵니다.E
last(E defaultValue)
collection에서 마지막 객체를 가져옵니다.ListIterator<E>
listIterator()
ListIterator<E>
listIterator(int location)
boolean
load()
모든 데이터를 사용할 수 있을 때까지 collection을 차단합니다.Number
max(String fieldName)
필드의 최대값을 찾습니다.Date
maxDate(String fieldName)
최대 날짜를 찾습니다.Number
min(String fieldName)
필드의 최소값을 찾습니다.Date
minDate(String fieldName)
최소 날짜를 찾습니다.void
move(int oldPos, int newPos)
고정된 크기의 목록을 유지하면서 객체를 한 위치에서 다른 위치로 이동합니다.E
remove(int location)
이 목록에서 지정된 위치에 있는 객체를 제거합니다.boolean
remove(Object object)
이Collection
에 지정된 객체의 인스턴스가 포함되어 있는 경우 해당 객체의 인스턴스 한 개를 제거합니다.boolean
removeAll(Collection<?> collection)
지정된Collection
에서 각 객체의 이Collection
에 있는 모든 항목을 제거합니다.void
removeAllChangeListeners()
모든 사용자 정의 변경 수신기를 제거합니다.void
removeChangeListener(OrderedRealmCollectionChangeListener<RealmList<E>> listener)
지정된 변경 리스너를 제거합니다.void
removeChangeListener(RealmChangeListener<RealmList<E>> listener)
지정된 변경 리스너를 제거합니다.E
set(int location, E object)
이 목록의 지정된 위치에 있는 요소를 지정된 객체로 바꿉니다.int
size()
이List
의 요소 수를 반환합니다.RealmResults<E>
sort(String fieldName)
제공된 필드를 기준으로 collection을 오름차순으로 정렬합니다.RealmResults<E>
sort(String[] fieldNames, Sort[] sortOrders)
제공된 필드와 정렬 순서에 따라 collection을 정렬합니다.RealmResults<E>
sort(String fieldName, Sort sortOrder)
제공된 필드와 정렬 순서에 따라 collection을 정렬합니다.RealmResults<E>
sort(String fieldName1, Sort sortOrder1, String fieldName2, Sort sortOrder2)
제공된 필드와 정렬 순서에 따라 collection을 정렬합니다.Number
sum(String fieldName)
지정된 필드의 합계를 계산합니다.String
toString()
RealmQuery<E>
where()
이 클래스의 특정 객체를 쿼리하는 데 사용할 수 있는 RealmQuery를 반환합니다.-
인터페이스 java.util에서 상속된 메소드입니다.collection
parallelStream, removeIf, stream, toArray
-
인터페이스 java.util에서 상속된 메소드입니다.목록
addAll, addAll, containsAll, equals, hashCode, indexOf, isEmpty, lastIndexOf, replaceAll, retainAll, sort, spliterator, subList, toArray, toArray
-
-
-
-
생성자 세부 정보
-
RealmList
public RealmList()
요소가 Realm에 의해 제어되지 않는 비관리 모드에서 RealmList를 만듭니다. 이렇게 하면 RealmList가 효과적으로ArrayList
작동하게 되며 이 상태의 객체를 쿼리할 수 없습니다.Realm.copyToRealm(Iterable, ImportFlag...)
을(를) 사용하여 Realm에서 해당 요소를 올바르게 유지합니다.
-
RealmList
public RealmList(E... 객체)
초기 요소 목록을 사용하여 비관리 모드에서 RealmList를 만듭니다. 비관리 모드의 RealmList는ArrayList
으로 작동하며 이 상태의 객체를 쿼리할 수 없습니다.Realm.copyToRealm(Iterable, ImportFlag...)
를 사용하여 Realm의 모든 관리되지 않는 요소를 올바르게 유지합니다.- 매개변수:
objects
- 목록의 초기 객체.
-
-
메서드 세부 정보
-
isValid
공개 부울 isValid()
collection이 여전히 사용하기에 유효한지, 즉Realm
인스턴스가 닫히지 않은지 확인합니다. 관리되지 않는 collection에 대해서는 항상true
을(를) 반환합니다.- 다음에 의해 지정됩니다:
isValid
인터페이스에서io.realm.internal.ManageableObject
- 다음에 의해 지정됩니다:
isValid
인터페이스에서RealmCollection<E>
- 반환합니다:
true
사용하기에 여전히 유효한 경우 또는 관리되지 않는 collection을 사용하는 경우, 그렇지 않으면false
를 반환합니다.
-
IsFrozen
공개 부울 isFrozen()
- 다음에 의해 지정됩니다:
isFrozen
인터페이스에서io.realm.internal.ManageableObject
-
isManaged
public boolean isManaged()
collection이 Realm에서 managed 확인합니다. managed collection은 기본 Realm 파일의 데이터를 감싸는 래퍼에 불과합니다. 이벤트 루프 스레드에서 managed collection은 실시간으로 업데이트되어 항상 최신 데이터를 점합니다. managed collection은 스레드 제한되어 있으므로 collection을 만든 다른 스레드에서 액세스할 수 없습니다.이 메서드가
false
을(를) 반환하면 collection이 관리되지 않는 것입니다. 관리되지 않는 collection은 일반적인 Java collection이므로 실시간 업데이트가 제공되지 않습니다.- 다음에 의해 지정됩니다:
isManaged
인터페이스에서io.realm.internal.ManageableObject
- 다음에 의해 지정됩니다:
isManaged
인터페이스에서RealmCollection<E>
- 반환합니다:
true
managedRealmCollection
인 경우 그렇지 않으면false
를 반환합니다.
-
추가
public void add(int location, @Nullable E element)
이 목록의 지정된 위치에 지정된 객체를 삽입합니다. 객체는 지정된 위치에 있는 이전 요소 앞에 삽입됩니다. 위치가 이 목록의 크기와 같으면 객체가 끝에 추가됩니다.- 관리되지 않는 RealmLists: 관리되는 객체와 관리되지 않는 객체를 모두 추가할 수 있습니다. 관리되지 않는 RealmList에 managed 객체를 추가하는 경우 나중에
Realm.copyToRealm(RealmModel, ImportFlag...)
을(를) 사용하면 해당 객체가 Realm에 다시 복사되지 않습니다. - managed RealmList: 이미 managed RealmList에 관리되지 않는 객체를 추가할 수 있습니다. 이 경우 객체는
Realm.copyToRealm(RealmModel, ImportFlag...)
또는 기본 키가 있는 경우Realm.copyToRealmOrUpdate(RealmModel, ImportFlag...)
를 사용하여 Realm에 투명하게 복사됩니다.
- 다음에 의해 지정됩니다:
add
인터페이스에서List<E>
- 재정의:
add
수업 중AbstractList<E>
- 매개변수:
location
- 삽입할 인덱스입니다.element
- 추가할 요소입니다.- 예외 처리:
IllegalStateException
- Realm 인스턴스가 닫혔거나 container 객체가 제거된 경우.IndexOutOfBoundsException
-location < 0 || location > size()
인 경우.
- 관리되지 않는 RealmLists: 관리되는 객체와 관리되지 않는 객체를 모두 추가할 수 있습니다. 관리되지 않는 RealmList에 managed 객체를 추가하는 경우 나중에
-
추가
public boolean add(@Nullable E 객체)
지정된 객체를 이 목록의 끝에 추가합니다.- 관리되지 않는 RealmLists: 관리되는 객체와 관리되지 않는 객체를 모두 추가할 수 있습니다. 관리되지 않는 RealmList에 managed 객체를 추가하는 경우 나중에
Realm.copyToRealm(RealmModel, ImportFlag...)
을(를) 사용하면 해당 객체가 Realm에 다시 복사되지 않습니다. - managed RealmList: 이미 managed RealmList에 관리되지 않는 객체를 추가할 수 있습니다. 이 경우 객체는
Realm.copyToRealm(RealmModel, ImportFlag...)
또는 기본 키가 있는 경우Realm.copyToRealmOrUpdate(RealmModel, ImportFlag...)
를 사용하여 Realm에 투명하게 복사됩니다.
- 다음에 의해 지정됩니다:
add
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
add
인터페이스에서List<E>
- 재정의:
add
수업 중AbstractList<E>
- 매개변수:
object
- 추가할 객체입니다.- 반환합니다:
- 항상
true
. - 예외 처리:
IllegalStateException
- Realm 인스턴스가 닫혔거나 상위 객체가 제거된 경우
- 관리되지 않는 RealmLists: 관리되는 객체와 관리되지 않는 객체를 모두 추가할 수 있습니다. 관리되지 않는 RealmList에 managed 객체를 추가하는 경우 나중에
-
세트
공용 E 세트(int 위치, @Nullable E 객체)
이 목록의 지정된 위치에 있는 요소를 지정된 객체로 바꿉니다.- 관리되지 않는 RealmLists: 관리되는 객체와 관리되지 않는 객체를 모두 추가할 수 있습니다. 관리되지 않는 RealmList에 managed 객체를 추가하는 경우 나중에
Realm.copyToRealm(RealmModel, ImportFlag...)
을(를) 사용하면 해당 객체가 Realm에 다시 복사되지 않습니다. - managed RealmList: 이미 managed RealmList에 관리되지 않는 객체를 추가할 수 있습니다. 이 경우 객체는
Realm.copyToRealm(RealmModel, ImportFlag...)
또는 기본 키가 있는 경우Realm.copyToRealmOrUpdate(RealmModel, ImportFlag...)
를 사용하여 Realm에 투명하게 복사됩니다.
- 다음에 의해 지정됩니다:
set
인터페이스에서List<E>
- 재정의:
set
수업 중AbstractList<E>
- 매개변수:
location
- 지정된 객체를 넣을 인덱스입니다.object
- 추가할 객체입니다.- 반환합니다:
- 인덱스의 이전 요소.
- 예외 처리:
IllegalStateException
- Realm 인스턴스가 닫혔거나 상위 객체가 제거된 경우IndexOutOfBoundsException
-location < 0 || location >= size()
인 경우.
- 관리되지 않는 RealmLists: 관리되는 객체와 관리되지 않는 객체를 모두 추가할 수 있습니다. 관리되지 않는 RealmList에 managed 객체를 추가하는 경우 나중에
-
이동
public void move(int oldPos, int newPos)
고정된 크기의 목록을 유지하면서 객체를 한 위치에서 다른 위치로 이동합니다. RealmObject가 이동되어null
값이 도입되지 않습니다.- 매개변수:
oldPos
- 이동할 RealmObject의 인덱스입니다.newPos
- 대상 위치. newPos < oldPos이면 해당 위치의 객체가 오른쪽으로 이동합니다. oldPos < newPos, indexes > oldPos인 경우 왼쪽으로 한 번 이동합니다.- 예외 처리:
IllegalStateException
- Realm 인스턴스가 닫혔거나 상위 객체가 제거된 경우IndexOutOfBoundsException
- 위치가 [0, size()]를 벗어나는 경우.
-
지우기
public void clear()
이 목록에서 모든 요소를 제거하고 비워 둡니다. 이 메서드는 Realm에서 객체를 제거하지 않습니다.- 다음에 의해 지정됩니다:
clear
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
clear
인터페이스에서List<E>
- 재정의:
clear
수업 중AbstractList<E>
- 예외 처리:
IllegalStateException
- Realm 인스턴스가 닫혔거나 상위 객체가 제거된 경우- 다음도 참조하세요.
List.isEmpty()
,List.size()
,deleteAllFromRealm()
-
제거
공개 E 제거(int 위치)
이 목록에서 지정된 위치에 있는 객체를 제거합니다.- 다음에 의해 지정됩니다:
remove
인터페이스에서List<E>
- 재정의:
remove
수업 중AbstractList<E>
- 매개변수:
location
- 제거할 객체의 인덱스입니다.- 반환합니다:
- 제거된 객체입니다.
- 예외 처리:
IllegalStateException
- Realm 인스턴스가 닫혔거나 상위 객체가 제거된 경우IndexOutOfBoundsException
-location < 0 || location >= size()
인 경우.
-
제거
public boolean remove(@Nullable Object 객체)
이Collection
에 지정된 객체의 인스턴스가 포함되어 있는 경우 해당 객체의 인스턴스 한 개를 제거합니다. 이 구현은 이Collection
을(를) 반복하고 반복자(iterator)가 반환한 각 요소e
)e
가 주어진 객체와 같은지 여부)를 테스트합니다.object != null
인 경우object.equals(e)
를 사용하여 이 테스트를 수행하고, 그렇지 않으면object == null
을 사용합니다. 주어진 객체와 동일한 요소가 발견되면 반복기에서remove
메서드가 호출되고true
이 반환되고, 그렇지 않으면false
이 반환됩니다. 반복기가 요소 제거를 지원하지 않으면UnsupportedOperationException
가 발생합니다.- 다음에 의해 지정됩니다:
remove
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
remove
인터페이스에서List<E>
- 재정의:
remove
수업 중AbstractCollection<E>
- 매개변수:
object
- 제거할 객체입니다.- 반환합니다:
true
이Collection
가 수정되면false
, 그렇지 않으면 을 반환합니다.- 예외 처리:
ClassCastException
- 전달된 객체가 올바른 유형이 아닌 경우.NullPointerException
-object
이null
인 경우.
-
모두 제거하기
public boolean removeAll(Collection<?> collection)
지정된Collection
에서 각 객체의 이Collection
에 있는 모든 항목을 제거합니다. 이 메서드가 전달된Collection
의 어떤 요소도 반환하지 않으면 더 이상 이Collection
에서 해당 요소를 찾을 수 없습니다.이 구현은
Collection
를 반복하고 반복자에서 반환된 각 요소e
가 지정된Collection
에 포함되어 있는지 테스트합니다. 이 테스트가 양성이면 반복기에서remove
메서드가 호출됩니다.- 다음에 의해 지정됩니다:
removeAll
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
removeAll
인터페이스에서List<E>
- 재정의:
removeAll
수업 중AbstractCollection<E>
- 매개변수:
collection
- 제거할 객체의 collection입니다.- 반환합니다:
true
이Collection
가 수정되면false
, 그렇지 않으면 을 반환합니다.- 예외 처리:
ClassCastException
-collection
의 하나 이상의 요소가 올바른 유형이 아닌 경우.NullPointerException
-collection
이null
인 경우.
-
deleteFirstFromRealm
공개 부울 deleteFirstFromRealm()
Realm에서 첫 번째 객체를 삭제합니다. 이렇게 하면 이 collection에서도 제거됩니다.- 다음에 의해 지정됩니다:
deleteFirstFromRealm
인터페이스에서OrderedRealmCollection<E>
- 반환합니다:
true
객체가 삭제되면false
, 그렇지 않으면 을 반환합니다.
-
deleteLastFromRealm
공개 부울 deleteLastFromRealm()
Realm에서 마지막 객체를 삭제합니다. 이렇게 하면 이 collection에서도 제거됩니다.- 다음에 의해 지정됩니다:
deleteLastFromRealm
인터페이스에서OrderedRealmCollection<E>
- 반환합니다:
true
객체가 삭제되면false
, 그렇지 않으면 을 반환합니다.
-
get
@Nullable public E get(int 위치)
이 목록의 지정된 위치에 있는 요소를 반환합니다.- 다음에 의해 지정됩니다:
get
인터페이스에서List<E>
- 다음에 의해 지정됩니다:
get
수업 중AbstractList<E>
- 매개변수:
location
- 반환할 요소의 인덱스입니다.- 반환합니다:
- 지정된 인덱스에 있는 요소.
- 예외 처리:
IllegalStateException
- Realm 인스턴스가 닫혔거나 상위 객체가 제거된 경우IndexOutOfBoundsException
-location < 0 || location >= size()
인 경우.
-
first
@Nullable public E first()
컬렉션에서 첫 번째 객체를 가져옵니다.- 다음에 의해 지정됩니다:
first
인터페이스에서OrderedRealmCollection<E>
- 반환합니다:
- 첫 번째 객체입니다.
-
first
@Nullable public E first(@Nullable E defaultValue)
collection에서 첫 번째 객체를 가져옵니다. collection이 비어 있으면 제공된 기본값이 대신 사용됩니다.- 다음에 의해 지정됩니다:
first
인터페이스에서OrderedRealmCollection<E>
- 반환합니다:
- 첫 번째 객체 또는 제공된 기본값입니다.
-
last
@Nullable public E last()
collection에서 마지막 객체를 가져옵니다.- 다음에 의해 지정됩니다:
last
인터페이스에서OrderedRealmCollection<E>
- 반환합니다:
- 마지막 객체입니다.
-
last
@Nullable public E last(@Nullable E defaultValue)
collection에서 마지막 객체를 가져옵니다. collection이 비어 있으면 제공된 기본값이 대신 사용됩니다.- 다음에 의해 지정됩니다:
last
인터페이스에서OrderedRealmCollection<E>
- 반환합니다:
- 마지막 객체 또는 제공된 기본값입니다.
-
sort
public RealmResults<E> sort(String fieldName)
제공된 필드를 기준으로 collection을 오름차순으로 정렬합니다.- 다음에 의해 지정됩니다:
sort
인터페이스에서OrderedRealmCollection<E>
- 매개변수:
fieldName
- 정렬할 필드 이름입니다. 부울, 짧은, int, long, float, double, 날짜 및 문자열 유형의 필드만 지원됩니다.- 반환합니다:
- 새로 정렬된
RealmResults
이(가) 생성되어 반환됩니다. 원본 collection은 변경되지 않은 상태로 유지됩니다.
-
sort
public RealmResults<E> sort(String fieldName, Sort sortOrder)
제공된 필드와 정렬 순서에 따라 collection을 정렬합니다.- 다음에 의해 지정됩니다:
sort
인터페이스에서OrderedRealmCollection<E>
- 매개변수:
fieldName
- 정렬할 필드 이름입니다. 부울, 짧은, int, long, float, double, 날짜 및 문자열 유형의 필드만 지원됩니다.sortOrder
- 정렬 기준 방향입니다.- 반환합니다:
- 새로 정렬된
RealmResults
이(가) 생성되어 반환됩니다. 원본 collection은 변경되지 않은 상태로 유지됩니다.
-
sort
public RealmResults<E> sort(String fieldName1, Sort sortOrder1, String fieldName2, Sort sortOrder2)
제공된 필드와 정렬 순서에 따라 collection을 정렬합니다.- 다음에 의해 지정됩니다:
sort
인터페이스에서OrderedRealmCollection<E>
- 매개변수:
fieldName1
- 첫 번째 필드 이름입니다. 부울, 짧은, int, long, float, double, 날짜 및 문자열 유형의 필드만 지원됩니다.sortOrder1
- 첫 번째 필드의 정렬 순서입니다.fieldName2
- 두 번째 필드 이름입니다. 부울, 짧은, int, long, float, double, 날짜 및 문자열 유형의 필드만 지원됩니다.sortOrder2
- 두 번째 필드의 정렬 순서입니다.- 반환합니다:
- 새로 정렬된
RealmResults
이(가) 생성되어 반환됩니다. 원본 collection은 변경되지 않은 상태로 유지됩니다.
-
sort
public RealmResults<E> sort(String[] fieldNames, Sort[] sortOrders)
제공된 필드와 정렬 순서에 따라 collection을 정렬합니다.- 다음에 의해 지정됩니다:
sort
인터페이스에서OrderedRealmCollection<E>
- 매개변수:
fieldNames
- 정렬 기준이 되는 필드 이름의 배열입니다. 부울, 짧은, int, long, float, double, 날짜 및 문자열 유형의 필드만 지원됩니다.sortOrders
- 정렬 기준 방향.- 반환합니다:
- 새로 정렬된
RealmResults
이(가) 생성되어 반환됩니다. 원본 collection은 변경되지 않은 상태로 유지됩니다.
-
deleteFromRealm
public void deleteFromRealm(int location)
Realm에서 지정된 인덱스에 있는 객체를 삭제합니다. 이렇게 하면 collection에서도 제거됩니다.- 다음에 의해 지정됩니다:
deleteFromRealm
인터페이스에서OrderedRealmCollection<E>
- 매개변수:
location
- 제거할 객체를 식별하는 배열 인덱스입니다.
-
size
public int size()
이List
의 요소 수를 반환합니다.- 다음에 의해 지정됩니다:
size
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
size
인터페이스에서List<E>
- 다음에 의해 지정됩니다:
size
수업 중AbstractCollection<E>
- 반환합니다:
- 이
List
의 요소 수입니다. - 예외 처리:
IllegalStateException
- Realm 인스턴스가 닫혔거나 상위 객체가 제거된 경우
-
위치
public RealmQuery<E> where()
이 클래스의 특정 객체를 쿼리하는 데 사용할 수 있는 RealmQuery를 반환합니다.- 다음에 의해 지정됩니다:
where
인터페이스에서RealmCollection<E>
- 반환합니다:
- RealmQuery 객체
- 예외 처리:
IllegalStateException
- Realm 인스턴스가 닫혔거나 상위 객체가 제거된 경우- 다음도 참조하세요.
RealmQuery
-
min
@Nullable public Number min(String fieldName)
필드의 최소값을 찾습니다.- 다음에 의해 지정됩니다:
min
인터페이스에서RealmCollection<E>
- 매개변수:
fieldName
- 최소값을 찾을 필드입니다. 숫자 필드만 지원됩니다.- 반환합니다:
- 객체가 없거나 지정된 필드의 값으로 객체가 모두
null
있는 경우null
가 반환됩니다. 그렇지 않으면 최소값이 반환됩니다. 최소값을 결정할 때null
값을 가진 객체는 무시됩니다.
-
최대
@Nullable public Number max(String fieldName)
필드의 최대값을 찾습니다.- 다음에 의해 지정됩니다:
max
인터페이스에서RealmCollection<E>
- 매개변수:
fieldName
- 최대값을 찾을 필드입니다. 숫자 필드만 지원됩니다.- 반환합니다:
- 객체가 없거나 지정된 필드의 값으로 객체가 모두
null
있는 경우null
가 반환됩니다. 그렇지 않으면 최대값이 반환됩니다. 최대값을 결정할 때null
값을 가진 객체는 무시됩니다.
-
합계
public Number sum(String fieldName)
지정된 필드의 합계를 계산합니다.- 다음에 의해 지정됩니다:
sum
인터페이스에서RealmCollection<E>
- 매개변수:
fieldName
- 합계할 필드입니다. 숫자 필드만 지원됩니다.- 반환합니다:
- 합계. 객체가 없거나 지정된 필드의 값으로 모두
null
가 있는 경우0
가 반환됩니다. 합계를 계산할 때null
값을 가진 객체는 무시됩니다.
-
평균
공개 이중 평균(String fieldName)
지정된 필드의 평균을 반환합니다.- 다음에 의해 지정됩니다:
average
인터페이스에서RealmCollection<E>
- 매개변수:
fieldName
- 평균을 계산할 필드입니다. 숫자 필드만 지원됩니다.- 반환합니다:
- 쿼리 결과에 있는 객체 중 지정된 필드에 대한 평균입니다. 이 필드는 모든 유형의 숫자 필드에 대해 double 유형이 됩니다. 객체가 없거나 지정된 필드의 값으로 모두
null
가 있는 경우0
가 반환됩니다. 평균을 계산할 때null
값을 가진 객체는 무시됩니다.
-
maxDate
@Nullable 공개 날짜 maxDate(문자열 fieldName)
최대 날짜를 찾습니다.- 다음에 의해 지정됩니다:
maxDate
인터페이스에서RealmCollection<E>
- 매개변수:
fieldName
- 최대 날짜를 찾을 필드입니다. fieldName이 날짜 유형이 아닌 경우 예외가 발생합니다.- 반환합니다:
- 객체가 없거나 지정된 날짜 필드의 값으로 객체가 모두
null
있는 경우null
가 반환됩니다. 그렇지 않으면 최대 날짜가 반환됩니다. 최대 날짜를 결정할 때null
값을 가진 객체는 무시됩니다.
-
minDate
@Nullable 공개 날짜 minDate(문자열 fieldName)
최소 날짜를 찾습니다.- 다음에 의해 지정됩니다:
minDate
인터페이스에서RealmCollection<E>
- 매개변수:
fieldName
- 최소 날짜를 찾을 필드입니다. fieldName이 날짜 유형이 아닌 경우 예외가 발생합니다.- 반환합니다:
- 객체가 없거나 지정된 날짜 필드의 값으로 객체가 모두
null
있는 경우null
가 반환됩니다. 그렇지 않으면 최소 날짜가 반환됩니다. 최소 날짜를 결정할 때null
값을 가진 객체는 무시됩니다.
-
deleteAllFromRealm
공개 부울 deleteAllFromRealm()
이렇게 하면 collection뿐만 아니라 기본 Realm에서도 collection의 모든 객체가 삭제됩니다.- 다음에 의해 지정됩니다:
deleteAllFromRealm
인터페이스에서RealmCollection<E>
- 반환합니다:
true
객체가 삭제된 경우false
, 그렇지 않으면 입니다.
-
isLoaded
공개 부울 isLoaded()
collection이 아직 데이터 로드를 완료했는지 확인합니다.- 다음에 의해 지정됩니다:
isLoaded
인터페이스에서RealmCollection<E>
- 반환합니다:
true
데이터가 로드되어 사용 가능한 경우false
, 데이터가 아직 로드 중인 경우.
-
로드
public boolean load()
모든 데이터를 사용할 수 있을 때까지 collection을 차단합니다.- 다음에 의해 지정됩니다:
load
인터페이스에서RealmCollection<E>
- 반환합니다:
true
데이터를 성공적으로 로드할 수 있으면false
을 반환합니다.
-
contains
공개 부울에는 (@Nullable Object 객체)가 포함됩니다.
Realm에 연결될 때 목록에 지정된 요소가 포함되어 있으면true
를 반환합니다. 이 메서드는 네이티브 Realm 기본 storage engine을 쿼리하여 지정된 요소를 빠르게 찾습니다.목록이 Realm에 연결되지 않은 경우 기본
List.contains(Object)
구현이 발생합니다.- 다음에 의해 지정됩니다:
contains
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
contains
인터페이스에서List<E>
- 다음에 의해 지정됩니다:
contains
인터페이스에서RealmCollection<E>
- 재정의:
contains
수업 중AbstractCollection<E>
- 매개변수:
object
- 이 목록에서 존재 여부를 테스트할 요소입니다.- 반환합니다:
true
이 목록에 지정된 요소가 포함되어 있으면 그렇지 않으면false
.
-
listIterator
@Nonnull public ListIterator<E> listIterator()
- 다음에 의해 지정됩니다:
listIterator
인터페이스에서List<E>
- 재정의:
listIterator
수업 중AbstractList<E>
-
listIterator
@Nonnull public ListIterator<E> listIterator(int location)
- 다음에 의해 지정됩니다:
listIterator
인터페이스에서List<E>
- 재정의:
listIterator
수업 중AbstractList<E>
-
createSnapshot
public OrderedRealmCollectionSnapshot<E> createSnapshot()
이OrderedRealmCollection
에서 스냅샷을 생성합니다.- 다음에 의해 지정됩니다:
createSnapshot
인터페이스에서OrderedRealmCollection<E>
- 반환합니다:
- 이 collection의 스냅샷입니다.
- 다음도 참조하세요.
OrderedRealmCollectionSnapshot
-
getRealm
public Realm getRealm()
이 collection이 속한Realm
인스턴스를 반환합니다.반환된 인스턴스에서
Closeable.close()
를 호출하는 것은 원래 Realm 인스턴스에서 호출하는 것과 동일하므로 Realm이 완전히 닫혀 목록이 무효화될 수 있으므로 권장하지 않습니다.- 반환합니다:
Realm
인스턴스이거나 collection이 관리되지 않는 경우null
입니다.- 예외 처리:
IllegalStateException
- Realm이DynamicRealm
의 인스턴스이거나Realm
가 이미 닫힌 경우
-
toString
공개 문자열 toString()
- 재정의:
toString
수업 중AbstractCollection<E>
-
asFlowable
public Flowable<RealmList<E>> asFlowable()
이 RealmList의 변경 사항을 모니터링하는 Rx Flowable을 반환합니다. 구독 시 현재 RealmList를 방출합니다. RealmList는 RealmList가 업데이트될 때마다 계속 내보내지며onComplete
은(는) 호출되지 않습니다.Realm Flowable에서 방출된 항목은 동결됩니다(
freeze()
참조). 즉, 변경할 수 없으며 모든 스레드에서 읽을 수 있습니다.Realm Flowable은 항상 라이브 RealmList를 보유한 스레드에서 항목을 방출합니다. 즉, 추가 처리를 수행해야 하는 경우 계산 스케줄러에서 값을 관찰하는 것이 좋습니다.
list.asFlowable() .observeOn(Schedulers.computation()) .map(rxResults -> doExpensiveWork(rxResults)) .observeOn(AndroidSchedulers.mainThread()) .subscribe( ... );
asFlowable()
에서 항목 방출을 중지하려면first()
연산자를 사용하여 첫 번째 항목만 방출하도록 RxJava에 지시할 수 있습니다.list.asFlowable() .first() .subscribe( ... ) // You only get the results once
- 반환합니다:
onNext
만 호출하는 RxJava Observable입니다. 절대onComplete
또는OnError
를 호출하지 않습니다.- 예외 처리:
UnsupportedOperationException
- 필요한 RxJava 프레임워크가 클래스 경로에 없거나 해당 Realm 인스턴스가 RxJava를 지원하지 않는 경우.- 다음도 참조하세요.
- RxJava 및 Realm
-
asChangesetObservable
public Observable<CollectionChange<RealmList<E>>> asChangesetObservable()
이 RealmList의 변경 사항을 모니터링하는 Rx Observable을 반환합니다. 구독 시 현재 RealmList를 방출합니다. RealmList를 업데이트할 때마다 RealmList와OrderedCollectionChangeSet
로 구성된 쌍이 전송됩니다. RealmList가 처음 방출될 때 변경 집합은null
이(가) 됩니다.RealmList는 RealmList가 업데이트될 때마다 계속 내보내지며
onComplete
은(는) 호출되지 않습니다.Realm Observable에서 방출된 항목은 동결됩니다(
freeze()
참조). 즉, 변경할 수 없으며 모든 스레드에서 읽을 수 있습니다.Realm Observable은 항상 라이브 Realm을 보유한 스레드에서 항목을 방출합니다. 즉, 추가 처리를 수행해야 하는 경우 계산 스케줄러에서 값을 관찰하는 것이 좋습니다.
list.asChangesetObservable() .observeOn(Schedulers.computation()) .map((rxList, changes) -> doExpensiveWork(rxList, changes)) .observeOn(AndroidSchedulers.mainThread()) .subscribe( ... );
- 반환합니다:
onNext
만 호출하는 RxJava Observable입니다. 절대onComplete
또는OnError
를 호출하지 않습니다.- 예외 처리:
UnsupportedOperationException
- 필요한 RxJava 프레임워크가 클래스 경로에 없거나 해당 Realm 인스턴스가 RxJava를 지원하지 않는 경우.IllegalStateException
- Realm이 루퍼 스레드에서 열리지 않은 경우.- 다음도 참조하세요.
- RxJava 및 Realm
-
addChangeListener
public void addChangeListener(OrderedRealmCollectionChangeListener<RealmList<E>> listener)
이RealmList
에 변경 리스너를 추가합니다.변경 리스너를 등록해도 기본 RealmList의 가비지 컬렉션이 방지되지는 않습니다. RealmList가 가비지 수집되면 변경 리스너 트리거가 중지됩니다. 이를 방지하려면 클래스 변수와 같이 적절한 길이로 강력한 참고를 유지하세요.
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 } }); } }
- 매개변수:
listener
- 알림을 받을 변경 리스너입니다.- 예외 처리:
IllegalArgumentException
- 변경 리스너가null
인 경우IllegalStateException
- 이벤트 루프가 아닌 또는IntentService
스레드에서 리스너를 추가하려고 하는 경우.
-
removeChangeListener
public void removeChangeListener(OrderedRealmCollectionChangeListener<RealmList<E>> listener)
지정된 변경 리스너를 제거합니다.- 매개변수:
listener
- 제거할 변경 리스너입니다.- 예외 처리:
IllegalArgumentException
- 변경 리스너가null
인 경우IllegalStateException
- 이벤트 루프가 아닌 스레드에서 리스너를 제거하려고 하는 경우.- 다음도 참조하세요.
RealmChangeListener
-
addChangeListener
public void addChangeListener(RealmChangeListener<RealmList<E>> listener)
이RealmList
에 변경 리스너를 추가합니다.변경 리스너를 등록해도 기본 RealmList의 가비지 컬렉션이 방지되지는 않습니다. RealmList가 가비지 수집되면 변경 리스너 트리거가 중지됩니다. 이를 방지하려면 클래스 변수와 같이 적절한 길이로 강력한 참고를 유지하세요.
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 } }); } }
- 매개변수:
listener
- 알림을 받을 변경 리스너입니다.- 예외 처리:
IllegalArgumentException
- 변경 리스너가null
인 경우IllegalStateException
- 이벤트 루프가 아닌 또는IntentService
스레드에서 리스너를 추가하려고 하는 경우.
-
removeChangeListener
public void removeChangeListener(RealmChangeListener<RealmList<E>> listener)
지정된 변경 리스너를 제거합니다.- 매개변수:
listener
- 제거할 변경 리스너입니다.- 예외 처리:
IllegalArgumentException
- 변경 리스너가null
인 경우IllegalStateException
- 이벤트 루프가 아닌 스레드에서 리스너를 제거하려고 하는 경우.- 다음도 참조하세요.
RealmChangeListener
-
모든 변경 리스너 제거
public void removeAllChangeListeners()
모든 사용자 정의 변경 수신기를 제거합니다.- 예외 처리:
IllegalStateException
- 이벤트 루프가 아닌 스레드에서 리스너를 제거하려고 하는 경우.- 다음도 참조하세요.
RealmChangeListener
-
-