方法一HashSet:
public class TestBean {
private String cid;
private String name;
public String getCid() {
return cid;
}
public void setCid(String cid) {
this.cid = cid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 根据cid去重
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
TestBean testBean = (TestBean) o;
return Objects.equals(cid, testBean.cid);
}
@Override
public int hashCode() {
return Objects.hash(cid);
}
}
public class T2 extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.a_t2);
TestBean t1 = new TestBean();
t1.setCid("01");
t1.setName("张三");
TestBean t2 = new TestBean();
t2.setCid("02");
t2.setName("李四");
TestBean t3 = new TestBean();
t3.setCid("03");
t3.setName("张三");
TestBean t4 = new TestBean();
t4.setCid("04");
t4.setName("王麻子");
List<TestBean> list = new ArrayList<>();
list.add(t1);
list.add(t2);
list.add(t3);
list.add(t4);
// 去重
Set<TestBean> set = new HashSet<>();
List<TestBean> resultList = new ArrayList<>();
for (TestBean testBean : list) {
if (set.add(testBean)) { // 重复的话返回false
resultList.add(testBean);
}
}
}
}
方法二:contains循环遍历
List<String> result = new ArrayList<>();
for (String str : list) {
if (!result.contains(str)) {
result.add(str);
}
}