官方文档的定义如下。
RealmList基本上是RealmObjects的容器,表现得非常好 很像普通的Java List。领域没有限制 在不同的RealmList中使用相同的对象两次(或更多),和你 可以使用它来模拟一对多和多对多 relationsships。
所以,
public class Email extends RealmObject {
@PrimaryKey
private String address;
private boolean active;
// ... setters and getters left out
}
public class Contact extends RealmObject {
@PrimaryKey
private String name;
private RealmList<Email> emails;
// ... setters and getters left out
}
如何避免重复数据?有一些方法可以避免重复的主键?
realm.beginTransaction();
Contact contact = realm.createObject(Contact.class);
contact.setName("John Doe");
Email email1 = realm.createObject(Email.class);
email1.setAddress("john@example.com");
email1.setActive(true);
contact.getEmails().add(email1);
Email email2 = realm.createObject(Email.class);
email2.setAddress("john@example.com");
email2.setActive(false);
contact.getEmails().add(email2);
realm.commitTransaction();