Collections工具类

简介: Collections工具类

Collections工具类

总结于尚硅谷学习视频

CollectionsTest类

package com.day0309_1;
import org.junit.jupiter.api.Test;
import java.util.*;
/**
 * Collections:操作Collection和Map的工具类
 *
 * 面试题:Collection和Collections的区别?
 *
 *
 */
public class CollectionsTest {
    /*
     * reverse(list):反转List中元素的顺序
     * shuffle(list):对List集合元素进行随机排序
     * sort(List):根据元素的自然顺序对指定List集合元素按升序排序
     * sort(List, Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序
     * swap(list, int, int):将指定list集合中的i处元素和j处元素进行交换
     * Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素
     * Object max(Collection, Comparator):根据Comparator指定的顺序,返回给定集合中的  object min(Collection)
     * Object min(Collection, Comparator)
     * int frequency(Collection, object):返回指定集合中指定元素的出现次数
     * void copy(list dest,List src):将src中的内容复制到dest中
     * boolean replaceAll(list list, Object oldVal, object newVal):
     */
    @Test
    public void test2(){
        List list=new ArrayList();
        list.add(123);
        list.add(43);
        list.add(765);
        list.add(-97);
        list.add(0);
        //报异常   IndexOutOfBoundsException("Source does not fit in dest");
//        List dest=new ArrayList();
//        Collections.copy(dest,list);
        List dest=Arrays.asList(new Object[list.size()]);
        System.out.println(dest.size());//List.size()
        Collections.copy(dest,list);
        System.out.println(dest);
        /*
        Collections 类中提供了多个synchronizedXxx()方法,
        该方法可将指定的集合包装成线程同步的集合,从而可以解决
        多线程并发访问集合的线程安全问题
         */
        //返回的list1即为线程安全的list
        List list1=Collections.synchronizedList(list);
    }
    @Test
    public void test1(){
        List list=new ArrayList();
        list.add(123);
        list.add(43);
        list.add(765);
        list.add(765);
        list.add(765);
        list.add(-97);
        list.add(0);
        System.out.println(list);
//        Collections.reverse(list);
//        Collections.shuffle(list);
//        Collections.swap(list,1,2);
        int frequency = Collections.frequency(list,765);
        System.out.println(list);
        System.out.println(frequency);
    }
}
相关文章
|
Java
用java搞定时任务,将hashmap里面的值存到文件里面去
本文介绍了如何使用Java的`Timer`和`TimerTask`类创建一个定时任务,将HashMap中的键值对写入到文本文件中,并提供了完整的示例代码。
146 1
用java搞定时任务,将hashmap里面的值存到文件里面去
|
监控 Java 测试技术
如何快速调度 PTS 的百万并发能力
压测是通过模拟用户行为对业务系统发起请求,测算出系统的承载能力,并对系统做一次全面的体检,压测后可根据压测表现优化系统瓶颈,防止出现线上故障。
如何快速调度 PTS 的百万并发能力
|
弹性计算 Java 算法
ECS使用体验
通过时长俩周对于ECS服务器的折腾,部署了一些小项目。也有了一定的感受
307 0
ECS使用体验
|
SQL 关系型数据库 数据库
|
双11 数据可视化
DataV参与了一场千亿交易
今年双十一DataV推出更灵活、轻量化的可视化方案,全面支撑各类场景的实时数据可视化需求。
3622 0
|
4天前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1321 4
|
4天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
671 3
|
5天前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
|
11天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
777 6