Java属性,List的方法contains()。
2017-02-07 14:56
501 查看
List的方法contains().
当有两个: List<Student> listA 和 List<Student> listB,而要把 listA 和listB都放在同一个集合List<Student> listAll 里面,假如listA与listB集合里面有相同的Student对象,所以两个集合相加的时候要进行过滤。
代码如下:list.contains(o),系统会对list中的每个元素e调用o.equals(e),方法,加入list中有n个元素,那么会调用n次o.equals(e),只要有一次o.equals(e)返回了true,那么list.contains(o)返回true,否则返回false。因此为了很好的使用contains()方法,我们需要重新定义下Student类的equals方法,根据我们的业务逻辑,如果两个Student对象的orderId相同,那么我们认为它们代表同一条记录 :
当有两个: List<Student> listA 和 List<Student> listB,而要把 listA 和listB都放在同一个集合List<Student> listAll 里面,假如listA与listB集合里面有相同的Student对象,所以两个集合相加的时候要进行过滤。
代码如下:list.contains(o),系统会对list中的每个元素e调用o.equals(e),方法,加入list中有n个元素,那么会调用n次o.equals(e),只要有一次o.equals(e)返回了true,那么list.contains(o)返回true,否则返回false。因此为了很好的使用contains()方法,我们需要重新定义下Student类的equals方法,根据我们的业务逻辑,如果两个Student对象的orderId相同,那么我们认为它们代表同一条记录 :
public List<Student> addList(List<Student> listA, List<Student> listB){ List<Student> list = new ArrayList<>(); if(listA != null){ list.addAll(listA); } if(listB != null){ Iterator<Student> it = listB.iterator(); while(it.hasNext()){ Student student = it.next(); if(!list.contains(student)){ list.add(student); } } } return list; }
class Student{ private int age; private int stuo; private String name; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getStuo() { return stuo; } public void setStuo(int stuo) { this.stuo = stuo; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public boolean equals(Object object){ if(this == object) return true; if(object == null) return false; if(this.getClass() != object.getClass()) return false; final Student student = (Student) object; if(this.getStuo() != student.getStuo()) return false; if(this.getName() != student.getName()) return false; if(this.getAge() != student.getAge()) return false; return true; } }
相关文章推荐
- Java 进阶之 List.contains 方法
- java根据List内对象的属性排序方法
- Java(List)中的自定义对象按属性(字段)排序(正序、倒序)的方法
- java list(属性方法)
- Java中List集合里Contains和Remove方法的本质
- java8之list集合中取出某一属性的方法
- java去重List的contains()方法
- Java:集合,对列表(List)中的自定义对象按属性(字段)排序(正序、倒序)的方法
- java中list按照某个属性排序方法
- 关于在java中List取值的方法(List中是数据对象)!
- 这么详细的分类 Java源代码网站你见过没有? Java中的每一个方法,每一个操作,每一个函数,每一个类.每一个属性,每一个事件都有相应的范例代码
- JAVA里protected属性和方法的完整测试
- dwr例子6调用返回List、Set或者Map的java方法
- List的contains()方法
- DWR 对DATA的理解(调用返回List、Set或者Map的java方法)
- [java]关于数组和List之间相互转换的方法
- JAVA中根据集合中对象属性排序的方法
- List的contains()方法
- java的构造方法、属性
- java中方法和属性的区别