클래스 RealmSet<E>
- java.lang.Object
-
- io.realm.RealmSet<E>
-
- 유형 매개변수:
E
- 이 세트에 저장된 값의 유형
- 구현된 모든 인터페이스:
io.realm.internal.Freezable<RealmCollection<E>>
,io.realm.internal.ManageableObject
,RealmCollection<E>
,Iterable<E>
,Collection<E>
,Set<E>
public class RealmSet<E> extends Object implements Set<E>, io.realm.internal.ManageableObject, RealmCollection<E>
RealmSet는 중복 요소가 없는 collection입니다.RealmList
와(과) 마찬가지로 RealmSet는 managed 모드와 관리되지 않는 모드에서 작동할 수 있습니다. managed 모드에서 RealmSet는 모든 내용을 Realm 내에 유지하지만 관리되지 않는 모드에서는HashSet
처럼 작동합니다.managed RealmSet는 Realm에서만 만들 수 있으며 기본 Realm이 업데이트될 때마다 자동으로 내용을 업데이트합니다. 관리되는 RealmSet는
RealmObject
의 RealmSet 필드를 가리키는 게터를 사용해서만 액세스할 수 있습니다.이 세트의 관리되지 않는 요소는
Realm.copyToRealm(Iterable, ImportFlag...)
메서드를 사용하여 Realm에 추가할 수 있습니다.경고: 다음 메서드는 아직 설정된 필드를 포함하는 클래스에 대해 지원되지 않습니다.
Realm.insert(RealmModel)
Realm.insert(Collection)
Realm.insertOrUpdate(RealmModel)
Realm.insertOrUpdate(Collection)
Realm.createAllFromJson(Class, String)
Realm.createAllFromJson(Class, JSONArray)
Realm.createAllFromJson(Class, InputStream)
Realm.createObjectFromJson(Class, String)
Realm.createObjectFromJson(Class, JSONObject)
}Realm.createObjectFromJson(Class, InputStream)
}Realm.createOrUpdateAllFromJson(Class, String)
Realm.createOrUpdateAllFromJson(Class, JSONArray)
Realm.createOrUpdateAllFromJson(Class, InputStream)
Realm.createOrUpdateObjectFromJson(Class, String)
Realm.createOrUpdateObjectFromJson(Class, JSONObject)
Realm.createOrUpdateObjectFromJson(Class, InputStream)
-
-
생성자 요약
생성자 Constructor 설명 RealmSet()
비관리 모드에서 RealmSet를 인스턴스화합니다.RealmSet(io.realm.BaseRealm baseRealm, io.realm.internal.OsSet osSet, Class<E> valueClass)
managed 모드에서 RealmSet를 인스턴스화합니다.RealmSet(io.realm.BaseRealm baseRealm, io.realm.internal.OsSet osSet, String className)
managed 모드에서 RealmSet를 인스턴스화합니다.RealmSet(Collection<E> collection)
비관리 모드에서 RealmSet를 다른 collection으로 인스턴스화합니다.
-
메서드 요약
모든 메서드 인스턴스 메서드 구체적인 방법 수정자 및 유형 메서드 설명 boolean
add(E e)
boolean
addAll(Collection<? extends E> c)
void
addChangeListener(RealmChangeListener<RealmSet<E>> listener)
이RealmSet
에 변경 리스너를 추가합니다.void
addChangeListener(SetChangeListener<E> listener)
이RealmSet
에 변경 리스너를 추가합니다.double
average(String fieldName)
지정된 필드의 평균을 반환합니다.void
clear()
boolean
contains(Object o)
이Collection
에 지정된 객체가 포함되어 있는지 테스트합니다.boolean
containsAll(Collection<?> c)
boolean
deleteAllFromRealm()
이렇게 하면 collection뿐만 아니라 기본 Realm에서도 collection의 모든 객체가 삭제됩니다.RealmSet<E>
freeze()
Class<E>
getValueClass()
String
getValueClassName()
boolean
isEmpty()
boolean
isFrozen()
boolean
isLoaded()
collection이 아직 데이터 로드를 완료했는지 확인합니다.boolean
isManaged()
collection이 Realm에서 managed 확인합니다.boolean
isValid()
collection이 여전히 사용하기에 유효한지, 즉Realm
인스턴스가 닫히지 않은지 확인합니다.Iterator<E>
iterator()
boolean
load()
모든 데이터를 사용할 수 있을 때까지 collection을 차단합니다.Number
max(String fieldName)
필드의 최대값을 찾습니다.Date
maxDate(String fieldName)
최대 날짜를 찾습니다.Number
min(String fieldName)
필드의 최소값을 찾습니다.Date
minDate(String fieldName)
최소 날짜를 찾습니다.boolean
remove(Object o)
boolean
removeAll(Collection<?> c)
void
removeAllChangeListeners()
모든 사용자 정의 변경 수신기를 제거합니다.void
removeChangeListener(RealmChangeListener<RealmSet<E>> listener)
지정된 변경 리스너를 제거합니다.void
removeChangeListener(SetChangeListener<E> listener)
지정된 변경 리스너를 제거합니다.boolean
retainAll(Collection<?> c)
int
size()
Number
sum(String fieldName)
지정된 필드의 합계를 계산합니다.Object[]
toArray()
<T> T[]
toArray(T[] a)
RealmQuery<E>
where()
이 클래스의 특정 객체를 쿼리하는 데 사용할 수 있는 RealmQuery를 반환합니다.-
클래스 java.lang에서 상속된 메소드입니다.객체
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
인터페이스 java.util에서 상속된 메소드입니다.collection
parallelStream, removeIf, stream, toArray
-
인터페이스 java.util에서 상속된 메소드입니다.설정
equals, hashCode, spliterator
-
-
-
-
생성자 세부 정보
-
RealmSet
public RealmSet()
비관리 모드에서 RealmSet를 인스턴스화합니다.
-
RealmSet
public RealmSet(Collection<E> collection)
비관리 모드에서 RealmSet를 다른 collection으로 인스턴스화합니다.- 매개변수:
collection
- 세트가 처음에 채워질 collection입니다.
-
RealmSet
public RealmSet(io.realm.BaseRealm baseRealm, io.realm.internal.OsSet osSet, Class<E> valueClass)
managed 모드에서 RealmSet를 인스턴스화합니다. 이 생성자는 Realm에서 내부적으로 사용됩니다.- 매개변수:
baseRealm
-osSet
-valueClass
-
-
RealmSet
public RealmSet(io.realm.BaseRealm baseRealm, io.realm.internal.OsSet osSet, String className)
managed 모드에서 RealmSet를 인스턴스화합니다. 이 생성자는 Dynamic Realm에서 내부적으로 사용됩니다.- 매개변수:
baseRealm
-osSet
-className
-
-
-
메서드 세부 정보
-
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
를 반환합니다.
-
isValid
공개 부울 isValid()
collection이 여전히 사용하기에 유효한지, 즉Realm
인스턴스가 닫히지 않은지 확인합니다. 관리되지 않는 collection에 대해서는 항상true
을(를) 반환합니다.- 다음에 의해 지정됩니다:
isValid
인터페이스에서io.realm.internal.ManageableObject
- 다음에 의해 지정됩니다:
isValid
인터페이스에서RealmCollection<E>
- 반환합니다:
true
사용하기에 여전히 유효한 경우 또는 관리되지 않는 collection을 사용하는 경우, 그렇지 않으면false
를 반환합니다.
-
IsFrozen
공개 부울 isFrozen()
- 다음에 의해 지정됩니다:
isFrozen
인터페이스에서io.realm.internal.ManageableObject
-
isEmpty
공개 부울 isEmpty()
-
contains
public boolean 포함(@Nullable 객체 o)
이Collection
에 지정된 객체가 포함되어 있는지 테스트합니다. 이Collection
의 요소elem
중 하나 이상이 다음 요구 사항을 충족하는 경우에만true
를 반환합니다:(object==null ? elem==null : object.equals(elem))
.- 다음에 의해 지정됩니다:
contains
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
contains
인터페이스에서RealmCollection<E>
- 다음에 의해 지정됩니다:
contains
인터페이스에서Set<E>
- 매개변수:
o
- 검색할 객체입니다.- 반환합니다:
true
객체가 이Collection
의 요소이면false
, 그렇지 않으면 입니다.
-
toArray
public 객체[] toArray()
-
toArray
public <T> T[] toArray(T[] a)
-
containsAll
public boolean containsAll(Collection<?> c)
- 다음에 의해 지정됩니다:
containsAll
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
containsAll
인터페이스에서Set<E>
-
addAll
public boolean addAll(Collection<? extends E> c)
-
retentionAll
public boolean retainAll(Collection<?> c)
-
모두 제거하기
public boolean removeAll(Collection<?> c)
-
지우기
public void clear()
-
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(RealmChangeListener<RealmSet<E>> listener)
지정된 변경 리스너를 제거합니다.- 매개변수:
listener
- 제거할 변경 리스너입니다.- 예외 처리:
IllegalArgumentException
- 변경 리스너가null
인 경우IllegalStateException
- 이벤트 루프가 아닌 스레드에서 리스너를 제거하려고 하는 경우.
-
removeChangeListener
public void removeChangeListener(SetChangeListener<E> listener)
지정된 변경 리스너를 제거합니다.- 매개변수:
listener
- 제거할 변경 리스너입니다.- 예외 처리:
IllegalArgumentException
- 변경 리스너가null
인 경우IllegalStateException
- 이벤트 루프가 아닌 스레드에서 리스너를 제거하려고 하는 경우.
-
모든 변경 리스너 제거
public void removeAllChangeListeners()
모든 사용자 정의 변경 수신기를 제거합니다.- 예외 처리:
IllegalStateException
- 이벤트 루프가 아닌 스레드에서 리스너를 제거하려고 하는 경우.- 다음도 참조하세요.
RealmChangeListener
-
위치
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
을 반환합니다.
-
getValueClassName
public String getValueClassName()
-
-