Java 统计自定义对象中的重复项-android
我有一个自定义的Java 统计自定义对象中的重复项-android,java,list,collections,rx-java,Java,List,Collections,Rx Java,我有一个自定义的对象列表,如下所示: public List<Message> getMessages() { return messages; } 如何计算重复项:useridfrom和useridto 我喜欢使用RXJava来获得更好的性能,而不是在后台使用。如果我理解正确,您可以为消息覆盖equals(),并检查是否相等。是的。但我需要在后台使用最佳方法。AFAIK我认为这是比较两个对象(具有相同属性)是否相等的最佳方法。我对RXJava不太了解。我希望看到您的回复。
对象
列表,如下所示:
public List<Message> getMessages() {
return messages;
}
如何计算重复项:useridfrom
和useridto
我喜欢使用RXJava来获得更好的性能,而不是在后台使用。如果我理解正确,您可以为
消息
覆盖equals()
,并检查是否相等。是的。但我需要在后台使用最佳方法。AFAIK我认为这是比较两个对象(具有相同属性)是否相等的最佳方法。我对RXJava
不太了解。我希望看到您的回复。请写下你的想法。谢谢,你能具体说明你真正想要什么吗?数一数有多少份?(例如,[1,2,3,1,1]是一个包含2个重复元素但只有1个值的列表……您关心前者还是后者?)此外,如果您可以删除所有不相关的代码,则会有所帮助,这样人们更容易阅读您的问题(例如,我们不需要所有类的定义,只需要相关字段)
public class Message {
@SerializedName("id")
@Expose
private String id;
@SerializedName("useridfrom")
@Expose
private String useridfrom;
@SerializedName("useridto")
@Expose
private String useridto;
@SerializedName("subject")
@Expose
private String subject;
@SerializedName("fullmessage")
@Expose
private String fullmessage;
@SerializedName("fullmessageformat")
@Expose
private String fullmessageformat;
@SerializedName("fullmessagehtml")
@Expose
private String fullmessagehtml;
@SerializedName("smallmessage")
@Expose
private String smallmessage;
@SerializedName("notification")
@Expose
private String notification;
@SerializedName("contexturl")
@Expose
private Object contexturl;
@SerializedName("contexturlname")
@Expose
private Object contexturlname;
@SerializedName("timecreated")
@Expose
private String timecreated;
@SerializedName("timeuserfromdeleted")
@Expose
private String timeuserfromdeleted;
@SerializedName("timeusertodeleted")
@Expose
private String timeusertodeleted;
@SerializedName("component")
@Expose
private String component;
@SerializedName("eventtype")
@Expose
private String eventtype;
@SerializedName("userfromfirstnamephonetic")
@Expose
private String userfromfirstnamephonetic;
@SerializedName("userfromlastnamephonetic")
@Expose
private String userfromlastnamephonetic;
@SerializedName("userfrommiddlename")
@Expose
private String userfrommiddlename;
@SerializedName("userfromalternatename")
@Expose
private String userfromalternatename;
@SerializedName("userfromfirstname")
@Expose
private String userfromfirstname;
@SerializedName("userfromlastname")
@Expose
private String userfromlastname;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUseridfrom() {
return useridfrom;
}
public void setUseridfrom(String useridfrom) {
this.useridfrom = useridfrom;
}
public String getUseridto() {
return useridto;
}
public void setUseridto(String useridto) {
this.useridto = useridto;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getFullmessage() {
return fullmessage;
}
public void setFullmessage(String fullmessage) {
this.fullmessage = fullmessage;
}
public String getFullmessageformat() {
return fullmessageformat;
}
public void setFullmessageformat(String fullmessageformat) {
this.fullmessageformat = fullmessageformat;
}
public String getFullmessagehtml() {
return fullmessagehtml;
}
public void setFullmessagehtml(String fullmessagehtml) {
this.fullmessagehtml = fullmessagehtml;
}
public String getSmallmessage() {
return smallmessage;
}
public void setSmallmessage(String smallmessage) {
this.smallmessage = smallmessage;
}
public String getNotification() {
return notification;
}
public void setNotification(String notification) {
this.notification = notification;
}
public Object getContexturl() {
return contexturl;
}
public void setContexturl(Object contexturl) {
this.contexturl = contexturl;
}
public Object getContexturlname() {
return contexturlname;
}
public void setContexturlname(Object contexturlname) {
this.contexturlname = contexturlname;
}
public String getTimecreated() {
return timecreated;
}
public void setTimecreated(String timecreated) {
this.timecreated = timecreated;
}
public String getTimeuserfromdeleted() {
return timeuserfromdeleted;
}
public void setTimeuserfromdeleted(String timeuserfromdeleted) {
this.timeuserfromdeleted = timeuserfromdeleted;
}
public String getTimeusertodeleted() {
return timeusertodeleted;
}
public void setTimeusertodeleted(String timeusertodeleted) {
this.timeusertodeleted = timeusertodeleted;
}
public String getComponent() {
return component;
}
public void setComponent(String component) {
this.component = component;
}
public String getEventtype() {
return eventtype;
}
public void setEventtype(String eventtype) {
this.eventtype = eventtype;
}
public String getUserfromfirstnamephonetic() {
return userfromfirstnamephonetic;
}
public void setUserfromfirstnamephonetic(String userfromfirstnamephonetic) {
this.userfromfirstnamephonetic = userfromfirstnamephonetic;
}
public String getUserfromlastnamephonetic() {
return userfromlastnamephonetic;
}
public void setUserfromlastnamephonetic(String userfromlastnamephonetic) {
this.userfromlastnamephonetic = userfromlastnamephonetic;
}
public String getUserfrommiddlename() {
return userfrommiddlename;
}
public void setUserfrommiddlename(String userfrommiddlename) {
this.userfrommiddlename = userfrommiddlename;
}
public String getUserfromalternatename() {
return userfromalternatename;
}
public void setUserfromalternatename(String userfromalternatename) {
this.userfromalternatename = userfromalternatename;
}
public String getUserfromfirstname() {
return userfromfirstname;
}
public void setUserfromfirstname(String userfromfirstname) {
this.userfromfirstname = userfromfirstname;
}
public String getUserfromlastname() {
return userfromlastname;
}
public void setUserfromlastname(String userfromlastname) {
this.userfromlastname = userfromlastname;
}
}