新手:java8 排序

public class Test {
    private Integer Id;
    private String Name;
    private Integer IdCard;

    public Integer getId() {
        return Id;
    }

    public void setId(Integer id) {
        Id = id;
    }

    public String getName() {
        return Name;
    }

    public void setName(String name) {
        Name = name;
    }

    public Integer getIdCard() {
        return IdCard;
    }

    public void setIdCard(Integer idCard) {
        IdCard = idCard;
    }
}

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

public class Test1 {
    public static void main(String[] args) {
        Test test1=new Test();
        test1.setId(5);
        test1.setName("张三");
        test1.setIdCard(55);
        Test test2=new Test();
        test2.setId(4);
        test2.setName("李四");
        test2.setIdCard(33);
        Test test3=new Test();
        test3.setId(5);
        test3.setName("王五");
        test3.setIdCard(77);
        Test test4=new Test();
        test4.setId(4);
        test4.setName("陈六");
        test4.setIdCard(11);
        List<Test> testList=new ArrayList<Test>();
        testList.add(test1);
        testList.add(test2);
        testList.add(test3);
        testList.add(test4);
        //Comparator提供的静态方法
        //升序
        Collections.sort(testList, Comparator.comparing(Test::getId));
        //降序
        Collections.sort(testList, Comparator.comparing(Test::getId).reversed());
        //两个字段排序及以上加上
        //id降序idCard降序thenComparing
        Collections.sort(testList, Comparator.comparing(Test::getId).reversed().thenComparing(Test::getIdCard));
        //默认两个都是升序
        Collections.sort(testList, Comparator.comparing(Test::getId).thenComparing(Test::getIdCard));
        //两个都是降序
        Collections.sort(testList, Comparator.comparing(Test::getId).thenComparing(Test::getIdCard).reversed());
        //lambda表达式
        //不带参数类型 括号里参数(参数A,参数B),排序是A在前面就是升序,B在前面就是降序
        testList.sort(( ord1,ord2) -> ord2.getId().compareTo(ord1.getId()));
        //带参数类型括号里参数(参数A,参数B),排序是A在前面就是升序,B在前面就是降序
        testList.sort(( Test ord1, Test ord2) -> ord2.getId().compareTo(ord1.getId()));
        //循环打印
        testList.stream().forEach(test -> System.out.println(test.getId()+"/" +test.getIdCard()+"/"+ test.getName()));
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为一名新手Java程序员,我会先设计一个简单的图书管理系统,主要包括图书的录入、查询、借阅和归还功能。首先,我会创建一个Book类来存储图书的信息,包括书名、作者、出版社、ISBN号等。然后,我会设计一个图书管理系统的界面,包括菜单和输入框,方便用户操作系统。 在录入图书的功能中,我会设置一个输入框让用户输入图书的信息,并将信息存储到一个ArrayList中。在查询图书的功能中,我会设置一个输入框让用户输入关键词进行搜索,并显示相关的图书信息。在借阅和归还图书的功能中,我会设置一个借阅和归还的按钮,让用户点击进行操作,并更新图书的借阅状态。 在编写代码的过程中,我会遵循面向对象的设计原则,将功能模块化,提高代码的重用性和可扩展性。我会注重异常处理,保证系统的稳定性和安全性。同时,我也会加入一些简单的算法,比如对图书信息进行排序和统计功能,提升系统的实用性。 在学习的过程中,我会多查阅相关的文档和教程,多尝试写一些小例子来熟悉Java的语法和API。我还会多和有经验的程序员交流,向他们请教一些问题,争取快速提升自己的编程能力。 总的来说,作为新手Java程序员,我会从简单的功能入手,逐步完善图书管理系统,不断提高自己的编程水平。希望能够在实践中不断进步,做出一个高质量的图书管理系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值