将集合中的学生的年龄升序排列

package com;

import java.util.ArrayList;
import java.util.List;

public class TestStudent {
	 public static void main(String[] args) {
		 List<Student> list = new ArrayList<Student>(); 
		 list.add(new Student(1,"zhangsan",56));
		 list.add(new Student(2,"mazi",43545));
		 list.add(new Student(4,"lisi",3));
		 
		 for (int i = 0; i < list.size() ; i++) {
			 for (int j = 0; j < list.size()-i-1; j++) {
				  if(list.get(j).getAge()<list.get(j+1).getAge()){
					   Student stu=list.get(j);
					   list.set(j, list.get(j+1));
					   list.set(j+1, stu);
				  }
			}
		}
		for (Student student : list) {
			System.out.println(student.getAge()+"_-"+student.getId());
		}
	 }
}	

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个Java面向对象编程的问题,我来帮你解答。 首先,我们需要定义一个学生类,包含姓名、年龄、性别三个属性。代码如下: ```java public class Student { private String name; // 姓名 private int age; // 年龄 private String gender; // 性别 public Student() { } public Student(String name, int age, String gender) { this.name = name; this.age = age; this.gender = gender; } // getter/setter方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } } ``` 然后,我们需要创建三个学生对象,存入ArrayList集合,并找出年龄最大的学生,将该对象的姓名变为“小猪佩奇”。 ```java import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class Test { public static void main(String[] args) { // 创建三个学生对象 Student s1 = new Student("张三", 18, "男"); Student s2 = new Student("李四", 20, "女"); Student s3 = new Student("王五", 22, "男"); // 存入ArrayList集合 ArrayList<Student> list = new ArrayList<>(); list.add(s1); list.add(s2); list.add(s3); // 找出年龄最大的学生,并将该对象的姓名变为“小猪佩奇” int maxAge = Integer.MIN_VALUE; Student maxAgeStudent = null; for (Student s : list) { if (s.getAge() > maxAge) { maxAge = s.getAge(); maxAgeStudent = s; } } maxAgeStudent.setName("小猪佩奇"); // 用Comparable接口对学生年龄进行升序排列 Collections.sort(list); // 输出所有学生的信息 for (Student s : list) { System.out.println("姓名:" + s.getName() + ",年龄:" + s.getAge() + ",性别:" + s.getGender()); } // 用Comparator接口对学生年龄进行升序排列 Collections.sort(list, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { return o1.getAge() - o2.getAge(); } }); // 输出所有学生的信息 for (Student s : list) { System.out.println("姓名:" + s.getName() + ",年龄:" + s.getAge() + ",性别:" + s.getGender()); } } } ``` 输出结果如下: ``` 姓名:小猪佩奇,年龄:18,性别:男 姓名:李四,年龄:20,性别:女 姓名:王五,年龄:22,性别:男 姓名:小猪佩奇,年龄:18,性别:男 姓名:李四,年龄:20,性别:女 姓名:王五,年龄:22,性别:男 ``` 以上就是该问题的解答,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值