contains判斷
List<Student>?set?=?new?ArrayList<>(); set.add(new?Student(3,?"Java")); isListContains(set);????//?判斷是否存在Map值 private?void?isListContains(List<Student>?set)?{ ???Student?course?=?new?Student(3,"Java"); ???if?(set.contains(course))?{ ???????L.i("1找到了"); ???}?else ???????L.i("1沒找到"); } public?class?Student?{ ???public?int?getId()?{ ???????return?id; ???} ???public?void?setId(int?id)?{ ???????this.id?=?id; ???} ???public?String?getName()?{ ???????return?name; ???} ???public?void?setName(String?name)?{ ???????this.name?=?name; ???} ???private?int?id; ???private?String?name; ???public?Student(int?id,?String?name)?{ ???????this.id?=?id; ???????this.name?=?name; ???} ???@Override ???public?boolean?equals(Object?o)?{ ???????if?(this?==?o)?return?true; ???????if?(o?==?null)?return?false; ???????if?(!(o?instanceof?Student))?return?false; ???????if?(this.getName()?==?null)?{ ???????????Student?stu?=?(Student)?o; ???????????if?(stu.getName()?==?null)?return?true; ???????????else?return?false; ???????}?else?{ ???????????Student?stu?=?(Student)?o; ???????????if?(this.getName().equals(stu.getName()))?return?true; ???????????else?return?false; ???????} ???} }
這樣寫contains判斷是可以的。但是把
List<Student>?set?=?new?ArrayList<>(); set.add(new?Student(3,?"Java")); isListContains(set);????//?判斷是否存在Map值
改成Set就不行了???
Set<Student>?set?=?new?HashSet<>(); set.add(new?Student(3,?"Java")); isListContains(set);????//?判斷是否存在Map值
2016-07-23
好吧,原來下節(jié)課就有講。。自己瞎整一個多小時。。沒整明白。。醉了。?