Java 进阶之旅的第四天

这篇具有很好参考价值的文章主要介绍了Java 进阶之旅的第四天。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Java 进阶之旅的第四天

Collections集合工具类

Collections集合工具类作用/特点

  • 可以对创建的集合进行操作,比如批量添加等
  • 查看源码可得,该工具类的构造函数用private修饰(private Collections() {}),所以使用时不需要创建该类.直接调用即可

Collections常用的API

方法名称 说明
public static boolean addAll(Collection c,T… elements) 批量添加元素
pubilc static void shuffle(List<?> list) 打乱List集合元素的顺序
void sort(List list) 排序
void sort(List list,Comparator c) 指定规则排序
int binarySearch(List list,T key) 以二分查找法查找元素
void copy(List dest,List src) 拷贝集合中的元素
int fill(List list,T obj) 使用指定的元素填充集合
int max/min(Collection coll) 根据默认的自然排序获取最大/小值
void swap(List<?> list,int i,int j) 交换集合中指定位置元素
  • 代码展示
//创建集合
        ArrayList<Integer> array = new ArrayList<>();
        //集合工具类
        //批量添加
        Collections.addAll(array,1,2,3,4,5,6,7);
        System.out.println("批量添加");
        System.out.println(array);
        //打乱集合元素顺序
        Collections.shuffle(array);
        System.out.println("打乱集合元素顺序");
        System.out.println(array);
        //排序
        Collections.sort(array);
        System.out.println("排序");
        System.out.println(array);
        //指定规则排序
        Collections.sort(array, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2-o1;
            }
        });
        System.out.println("指定规则排序");
        System.out.println(array);
        //二分查找元素
        int index = Collections.binarySearch(array, 1);
        System.out.println("二分查找元素");
        System.out.printf("元素1的下标: %d\n",index);
        System.out.println("二分查找元素1时下标为-1的结果是受到集合逆序的影响");
        //拷贝(暂时无法解决
//        ArrayList<Integer> array2 = new ArrayList<>();
//        Collections.copy(array2,array);
//        System.out.println("拷贝");
//        System.out.println(array2);
        //
        //根据默认的自然排序获取最大/小值
        int max = Collections.max(array);
        System.out.println("根据默认的自然排序获取最大");
        System.out.printf("最大值: %d\n",max);
        //交换集合中指定位置元素
        Collections.swap(array,0,2);
        System.out.println("交换集合中指定位置元素");
        System.out.println(array);
        //使用指定元素填充结合
        Collections.fill(array,5);
        System.out.println("使用指定元素填充结合");
        System.out.println(array);
  • 结果
批量添加
[1, 2, 3, 4, 5, 6, 7]
打乱集合元素顺序
[4, 1, 6, 3, 5, 2, 7]
排序
[1, 2, 3, 4, 5, 6, 7]
指定规则排序
[7, 6, 5, 4, 3, 2, 1]
二分查找元素
元素1的下标: -1
二分查找元素1时下标为-1的结果是受到集合逆序的影响
根据默认的自然排序获取最大
最大值: 7
交换集合中指定位置元素
[5, 6, 7, 4, 3, 2, 1]
使用指定元素填充结合
[5, 5, 5, 5, 5, 5, 5]

文章来源地址https://www.toymoban.com/news/detail-814809.html

到了这里,关于Java 进阶之旅的第四天的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第五十四天学习记录:C语言进阶:动态内存管理Ⅱ

    1、对NULL指针的解引用操作 2、对动态开辟的内存的越界访问 3、对非动态开辟内存的free 4、使用free释放动态开辟内存的一部分 5、对同一块动态内存多次释放 6、动态开辟内存忘记释放(内存泄漏) 问:realloc的第一个参数的指针地址必须是malloc或calloc创建的在堆上的地址吗?

    2024年02月06日
    浏览(27)
  • 项目一:踏上Java开发之旅

    在Java编程之旅中,首先通过安装并配置JDK作为能量源泉,搭建起与操作系统对话的魔法桥梁。接着,开发者运用文本编辑器或IDE创建并编译执行第一个简单的“Hello Java World~”程序,成功开启了通向Java世界的大门。 随后引入强大的集成开发环境IntelliJ IDEA,以其高效的特性及

    2024年01月25日
    浏览(49)
  • 学习c++的第四天

    目录 运算符 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 运算符优先级 算术运算符是 C++ 中用于执行基本算术操作的运算符。 加法运算符 (+):将两个操作数相加。例如,A + B 将得到 30,因为 10 + 20 等于 30。 减法运算符 (-):从第一个操作数中减去第

    2024年02月06日
    浏览(34)
  • 学习Android的第十四天

    目录 Android DatePicker 日期选择器 DatePicker 属性 和 事件 DatePicker 事件 获得 DatePicker 的值 Android TimePicker 时间选择器 TimePicker 属性 TimePicker 事件 获得 TimePicker 的值 Android CalendarView 日历视图 CalendarView 属性 CalendarView 事件 获得 CalendarView 的值 在Android中,DatePicker是一个用户界面组件

    2024年02月21日
    浏览(38)
  • 学习c#的第二十四天

    目录 C# 事件(Event) 事件概述 如何订阅和取消订阅事件 以编程方式订阅事件 使用匿名函数订阅事件 取消订阅 如何发布符合 .NET 准则的事件 发布基于 EventHandler 模式的事件 如何在派生类中引发基类事件 如何实现接口事件 如何实现自定义事件访问器 示例 事件(Event) 基本

    2024年02月04日
    浏览(31)
  • 【Go之道】探索Go语言之旅:基础与进阶指南

    在这个数字化快速发展的时代,掌握一门编程语言已成为必备技能。今天,我将带你踏上【Go之道】,探索Go语言的魅力,为你的编程之旅助力。 Go,又称为Golang,是由Google设计和开发的一种静态类型、编译型和并发型的编程语言。 凭借其简洁、高效和并发性能优越等特点,

    2024年02月08日
    浏览(32)
  • 【5天打卡】学习Lodash的第四天——安全要牢记

    安全漏洞的问题一直是大家关心的问题,仿佛是巧合,在云视频会议服务提供商 Zoom 刚刚被爆出存在”零日漏洞“威胁 Mac 用户隐私和信息安全的同时,开发者熟知的 npm 库 Lodash 也被爆出存在高严重性安全漏洞——”原型污染“漏洞,该漏洞将威胁超过 400 万个项目的服务安

    2024年02月01日
    浏览(29)
  • 学C的第三十四天【程序环境和预处理】

    ========================================================================= 相关代码gitee自取 : C语言学习日记: 加油努力 (gitee.com)  ========================================================================= 接上期 : 学C的第三十三天【C语言文件操作】_高高的胖子的博客-CSDN博客  ====================================

    2024年02月12日
    浏览(29)
  • 【Java 进阶篇】Java Web开发:实现验证码功能

    在Web应用程序中,验证码(CAPTCHA)是一种常见的安全工具,用于验证用户是否为人类而不是机器。验证码通常以图像形式呈现,要求用户在登录或注册时输入正确的字符。在这篇文章中,我们将详细介绍如何在Java Web应用程序中实现验证码功能。 验证码是“全自动区分计算机

    2024年02月03日
    浏览(29)
  • 🔥🔥Java开发者的Python快速进修指南:函数进阶

    在上一篇文章中,我们讲解了函数最基础常见的用法,今天我想在这里简单地谈一下函数的其他用法。尽管这些用法可能不是非常常见,但我认为它们仍然值得介绍。因此,我将单独为它们开设一个章节,并探讨匿名函数和装饰器函数这两种特殊的用法。 在Python中,匿名函数

    2024年02月05日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包