码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java—Collections


    目录

    1. Collections

    1.1Collections概述和使用

    案例:ArrayList存储学生对象并排序


    1. Collections

    1.1Collections概述和使用

    Collections类的概述
            是针对集合操作的工具类

    Collections类的常用方法
            publicstatic> voidsort(Listlist):将指定的列表按升序排序

            publicstatic void reverse(Listlist):反转指定列表中元素的顺序
            publicstatic void shuffle(Listlist):使用默认的随机源随机排列指定的列表

    1. package zyy07;
    2. import java.util.ArrayList;
    3. import java.util.Collections;
    4. import java.util.List;
    5. public class Demo {
    6. public static void main(String[] args) {
    7. //创建集合类型
    8. List l=new ArrayList<>();
    9. //添加元素
    10. l.add(12);
    11. l.add(15);
    12. l.add(14);
    13. l.add(6);
    14. //Collections.sort()将指定列表按升序
    15. //Collections.sort(l);
    16. //Collections.reverse()反转
    17. //Collections.reverse(l);
    18. //Collections.shuffle()随机排序
    19. Collections.shuffle(l);
    20. System.out.println(l);
    21. }
    22. }

    案例:ArrayList存储学生对象并排序

    需求:ArrayList存储学生对象,使用Collections对ArrayList进行排序
            要求:按照年龄从小到大排序,年龄相同时,按照姓名的字母顺序排序

    思路:
            定义学生类
            创建ArrayList集合对象
            创建学生对象
            把学生添加到集合
            使用Collections对ArrayList集合排序

            遍历集合

    1. package com.test;
    2. import java.util.ArrayList;
    3. import java.util.Collections;
    4. import java.util.Comparator;
    5. public class studentdemo {
    6. public static void main(String[] args) {
    7. //创建集合对象
    8. ArrayList a=new ArrayList<>();
    9. //创建学生对象
    10. student s1=new student("zyy",10);
    11. student s2=new student("zy",11);
    12. student s3=new student("z",12);
    13. student s4=new student("z",12);
    14. //把学生添加到集合
    15. a.add(s1);
    16. a.add(s2);
    17. a.add(s3);
    18. a.add(s4);
    19. //排序
    20. //Collections.sort(a);出现错误
    21. Collections.sort(a, new Comparator() {
    22. @Override
    23. public int compare(student s1, student s2) {
    24. int num=s1.getAge()-s2.getAge();
    25. int num1=num==0?s1.getName().compareTo(s2.getName()):num;
    26. return num1;
    27. }
    28. });
    29. //遍历集合
    30. for(student s:a ){
    31. System.out.println(s.getName()+","+s.getAge());
    32. }
    33. }
    34. }

  • 相关阅读:
    Python && JAVA 去除字符串中空格的五种方法
    暑假打工 2 个 月,让我明白了 Keepalived 高可用的三种路由方案
    mysql 数据库在liunx 上的备份和恢复
    HackTheBox Ambassador 枚举获得用户shell,git consul API提权
    µC/OS-II---两个系统任务
    深入浅出PyTorch函数torch.rand与torch.randn
    协程 VS 线程,Kotlin技术精讲
    ROS中预览pcl点云数据,提示fatal error: pcl/point_cloud.h: 没有那个文件或目录
    35岁的腾讯测试员退休?答:存够2千万回家买房
    【0144】postmaster创建System V Shared Memory(共享内存)的背后机制
  • 原文地址:https://blog.csdn.net/qq_62799214/article/details/126233966
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号