Spring boot基础、javaSE

本文介绍了Java SE中的Collections工具类,包括添加元素、打乱排序和使用Comparator减少代码侵入性。接着讲解了Map接口及其HashMap实现,强调其在缓存中的应用。最后,探讨了Spring Boot的发展背景、目的及如何搭建开发环境,包括创建Web项目和网页的基本步骤。
摘要由CSDN通过智能技术生成

1、java.util Class Collections:

集合的工具类,定义有许多静态方法,可以对集合进行一些常用的操作;

添加元素:c.addAll(Collection<? super T> c, T..elements);

打乱集合排序:c.shuffle(List<T> list);

集合排序:c.sort(List<T> list):需要该集合满足实现接口Comparable,该接口会定义一个抽象方法:int compareTo(T o),因此我们可以重写该集合实现类的compareTo();这种为了满足业务使用的API而需要修改其他地方的代码,具有了代码的侵入性,不利于后期维护;

为了减少代码的侵入性,可以使用comparator接口,该接口称为比较器,它定义了compare()方法,我们可以重写该比较器,并把重写后的比较器传入sort()里,这种方法的侵入性较弱;

 List<Point> list1 = new ArrayList<>();
        list1.add(new Point(1,2));
        list1.add(new Point(3,2));
        list1.add(new Point(4,2));
        list1.add(new Point(55,2));
        list1.add(new Point(6,2));
        list1.add(new Point(7,2));
        /*
        Collections.sort(list1);
        该方法只能比较实现了Comparable接口,并重写了compareTo才能作比较
        侵入性:当使用API时,如果反过来要求我们为其修改其他地方的代码,不利于程序后期维护
        */

       /*
       Comparator<Point> c = (o1, o2) -> {
            int num1 = o1.getX()*o1.getX()+o1.getY()*o1.getY();
            int num2 = o2.getX()*o2.getX()+o2.getY()*o2.getY();
           return num2-num1;
        };
        */

        Collections.sort(list1,( o1, o2) ->
                o2.getX()*o2.getX()+o2.getY()*o2.getY() -o1.getX()*o1.getX()-o1.getY()*o1.getY());
        System.out.println(list1);

2、java.util Interface Map:

查找表,体现的结构是一个多行两列的表格,左列称为key,右列称为valu;在Map中总是以key-value对的形式保存数据,并根据key提取value;

常用的实现类:java.util.HashMap散列表(哈希表):使用散列算法实现Map,当今查询速度最快的数据结构,在缓存中被大量使用;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. Spring Boot官方文档:https://spring.io/projects/spring-boot 2. Thymeleaf官方文档:https://www.thymeleaf.org/documentation.html 3. Spring Security官方文档:https://spring.io/projects/spring-security 4. Spring Data JPA官方文档:https://spring.io/projects/spring-data-jpa 5. Hibernate官方文档:https://hibernate.org/orm/documentation/ 6. MySQL官方文档:https://dev.mysql.com/doc/ 7. Bootstrap官方文档:https://getbootstrap.com/docs/4.6/getting-started/introduction/ 8. jQuery官方文档:https://api.jquery.com/ 9. Maven官方文档:https://maven.apache.org/guides/ 10. GitHub文档:https://docs.github.com/en/github 11. Git官方文档:https://git-scm.com/doc 12. IntelliJ IDEA官方文档:https://www.jetbrains.com/help/idea/ 13. Eclipse官方文档:https://www.eclipse.org/documentation/ 14. Visual Studio Code官方文档:https://code.visualstudio.com/docs 15. VS Code插件市场:https://marketplace.visualstudio.com/ 16. Postman官方文档:https://learning.postman.com/docs/ 17. Swagger官方文档:https://swagger.io/docs/ 18. Google Material Icons:https://fonts.google.com/icons?selected=Material+Icons 19. FontAwesome Icons:https://fontawesome.com/icons?d=gallery 20. Unsplash免费高清图片:https://unsplash.com/ 21. Pexels免费高清图片:https://www.pexels.com/ 22. Pixabay免费高清图片:https://pixabay.com/ 23. Canva在线设计工具:https://www.canva.com/ 24. Figma在线设计工具:https://www.figma.com/ 25. Adobe XD在线设计工具:https://www.adobe.com/products/xd.html 26. Iconfont阿里巴巴矢量图标库:https://www.iconfont.cn/ 27. 菜鸟教程:https://www.runoob.com/ 28. Java API文档:https://docs.oracle.com/en/java/javase/16/docs/api/index.html 29. Stack Overflow技术问答社区:https://stackoverflow.com/ 30. CSDN技术社区:https://www.csdn.net/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值