public class MyTest {
//情景:实现list中的元素的过滤,求出集合中age>=30和salary>=300的元素
List<TestUser> userList = Arrays.asList(
new TestUser("张三",200.1,20),
new TestUser("李四",300.2,25),
new TestUser("王五",400.2,30),
new TestUser("赵六",500.2,35)
);
//传统方法
@Test
public void test1(){
List<TestUser> list = filterUser1(userList);
for(TestUser user:list){
System.out.println(user);
}
System.out.println("========================");
List<TestUser> list2 = filterUser2(userList);
for(TestUser user:list2){
System.out.println(user);
}
}
public List<TestUser> filterUser1(List<TestUser> userList) {
List<TestUser> list = new ArrayList<>();
for (TestUser user : userList) {
if (user.getAge() >= 30) {
list.add(user);
}
}
return list;
}
public List<TestUser> filterUser2(List<TestUser> userList) {
List<TestUser>list = new ArrayList<>();
for (TestUser user : userList) {
if(user.getSalary()>=300){
list.add(user);
}
}
return list;
}
//定义一个接口和2个实现类
public interface UserInterfase<T> {
public boolean test(T t);
}
public class UserByAgeimpl implements UserInterfase<TestUser> {
@Override
public boolean test(TestUser user) {
return user.getAge()>=30;
}
}
public class UserBySalaryimpl implements UserInterfase<TestUser>{
@Override
public boolean test(TestUser user) {
return user.getSalary()>300;
}
}
public class MyTest { //情景:实现list中的元素的过滤,求出集合中age>=30和salary>=300的元素 List<TestUser> userList = Arrays.asList( new TestUser("张三",200.1,20), new TestUser("李四"...