1.基础计算01

1.基础计算

比方有10用户对象信息list对象,通过ID进行从小到大排序,如何进行,第一位对象信息除了ID复制到第二位,第二位复制到第三位,第三位复制到第4位,…一直到最后一位,将最后一位信息除ID外复制列第一位。

package org.example;

public class User {
    private int id;
    private String name;
    private int age;

    public User(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }


    public int getId() {
        return id;
    }

    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;
    }

    @Override
    public String toString() {
        return "User{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + '}';
    }

}
package org.example;

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

public class Main {
    public static void main(String[] args) {
        // 示例用户列表
        List<User> users = new ArrayList<>();
        users.add(new User(3, "Alice", 25));
        users.add(new User(1, "Bob", 30));
        users.add(new User(5, "Charlie", 28));
        users.add(new User(2, "David", 22));
        users.add(new User(4, "Eve", 35));
        users.add(new User(6, "Frank", 40));
        users.add(new User(7, "Grace", 33));
        users.add(new User(8, "Hannah", 27));
        users.add(new User(9, "Isaac", 26));
        users.add(new User(10, "Jack", 29));
        // 按ID从小到大排序
        users.sort(Comparator.comparingInt(User::getId));
        // 输出排序后的列表
        System.out.println("排序后的列表:");
        users.forEach(System.out::println);
        // 创建一个临时变量,存储最后一个用户的信息(除ID外)
        String lastName = users.get(users.size() - 1).getName();
        int lastAge = users.get(users.size() - 1).getAge();
        // 从后往前,将每个用户的信息复制到下一个用户
        for (int i = users.size() - 1; i > 0; i--) {
            users.get(i).setName(users.get(i - 1).getName());
            users.get(i).setAge(users.get(i - 1).getAge());
        }
        // 将最后一个用户的信息复制到第一个用户
        users.get(0).setName(lastName);
        users.get(0).setAge(lastAge);
        // 输出复制后的列表
        System.out.println("\n复制后的列表:");
        users.forEach(System.out::println);
    }

}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值