Kotlin & Java

[Java ] 두개의 리스트에서 중복되는 객체 비교

Nanamare 2018. 11. 8. 22:57
728x90

List<T> A와 List<T> B에서 같은 객체가 존재하는지 어떤 방식으로 비교 할 수 있을까?


premitive 타입이라면 그저 Contains 메소드를 사용하여 비교하면 되겠지만,

Reference 타입이라면 T class에서 equals 메소드를 오버라이드해서 사용하면 된다.


예시 )

ExContentsVO클래스의 mExId는 유니크한 아이디 값을 가지게 되어있다.

public class ExContentsVO {

private int mResId;
private int mExId;
private String mExName;
private int mExTime;
private int mRestTime;
private boolean mChecked;

public int getResId() {
return mResId;
}

public void setResId(int mResId) {
this.mResId = mResId;
}

public int getExId() {
return mExId;
}

public void setExId(int mExId) {
this.mExId = mExId;
}

public String getExName() {
return mExName;
}

public void setExName(String mExName) {
this.mExName = mExName;
}

public int getExTime() {
return mExTime;
}

public void setExTime(int mExATime) {
this.mExTime = mExATime;
}

public int getRestTime() {
return mRestTime;
}

public void setRestTime(int mRestTime) {
this.mRestTime = mRestTime;
}

public boolean isChecked() {
return mChecked;
}

public void setChecked(boolean mChecked) {
this.mChecked = mChecked;
}

@Override
public boolean equals(Object object) {
boolean same = false;

if (object != null && object instanceof ExContentsVO) {
same = this.mExId == ((ExContentsVO) object).getExId();
}

return same;
}
}


728x90