private
LocalDate birthday;
public
StudentInfo(String name, Boolean gender, Integer age, Double height, LocalDate birthday){
this
.name =
name;
this
.gender =
gender;
this
.age =
age;
this
.height =
height;
this
.birthday =
birthday;
public
String toString(){
String info
= String.format("%s\t\t%s\t\t%s\t\t\t%s\t\t%s",
this
.name,
this
.gender.toString(),
this
.age.toString(),
this
.height.toString(),birthday.toString());
return
info;
public
static
void
printStudents(List<StudentInfo>
studentInfos){
System.out.println(
"[姓名]\t\t[性别]\t\t[年龄]\t\t[身高]\t\t[生日]"
);
System.out.println(
"----------------------------------------------------------"
);
studentInfos.forEach(s
->
System.out.println(s.toString()));
System.out.println(
" "
);
@Override
public
int
compareTo(StudentInfo ob) {
return
this
.age.compareTo(ob.getAge());
//
return 1;
public
String getName() {
return
name;
public
void
setName(String name) {
this
.name =
name;
public
Boolean getGender() {
return
gender;
public
void
setGender(Boolean gender) {
this
.gender =
gender;
public
Integer getAge() {
return
age;
public
void
setAge(Integer age) {
this
.age =
age;
public
Double getHeight() {
return
height;
public
void
setHeight(Double height) {
this
.height =
height;
public
LocalDate getBirthday() {
return
birthday;
public
void
setBirthday(LocalDate birthday) {
this
.birthday =
birthday;
StudentInfo对象类
//测试数据,请不要纠结数据的严谨性
List<StudentInfo> studentList = new ArrayList<>();
studentList.add(new StudentInfo("李小明",true,18,1.76,LocalDate.of(2001,3,23)));
studentList.add(new StudentInfo("张小丽",false,18,1.61,LocalDate.of(2001,6,3)));
studentList.add(new StudentInfo("王大朋",true,19,1.82,LocalDate.of(2000,3,11)));
studentList.add(new StudentInfo("陈小跑",false,17,1.67,LocalDate.of(2002,10,18)));
输出Students列表
//输出List
StudentInfo.printStudents(studentList);
输出结果如下图:
使用filter()过滤List
//查找身高在1.8米及以上的男生
List<StudentInfo> boys = studentList.stream().filter(s->s.getGender() && s.getHeight() >= 1.8).collect(Collectors.toList());
//输出查找结果
StudentInfo.printStudents(boys);
结果如下图: