集合框架(二)前置知识

可变参数:就是一种特殊形参,定义在方法,构造器的形参列表里,格式是:"数据类型...参数名称"

可变参数的特点和好处

特点:可以不传数据给它,可以传一个或多个数据给它,也可以传一个数组给它

好处:常常用来灵活的接受数据

可变参数的注意事项:

①可变参数在方法内部就是一个数组

②一个形参列表中可变参数只能有一个

③可变参数必须放在形参列表的最后面

Collections

*是一个用来操作集合的工具类

Collections提供的常用静态方法

|--------------------------------------------------------------------------|-------------------------------|
| 方法名称 | 说明 |
| public static <T>boolean addAll (Collection<?super T>c,T...elements) | 给集合批量添加元素 |
| public static void shuffle(List<T>list) | 打乱List集合中的元素顺序 |
| public static <T>void sort(List<T>list) | 对List集合中的元素进行升序排序 |
| public static <T>void sort(List<T>list,comparator<?super T>c) | 对List集合中元素,按照比较器对象指定的规则进行升序排序 |

复制代码
import java.util.*;

public class Collections1 {
    //目标:掌握Collections集合工具类的使用
    public static void main(String[] args) {
//public static <T>boolean addAll (Collection<?super T>c,T...elements)	给集合批量添加元素
        List<String> names=new ArrayList<>();
        Collections.addAll(names,"长相思","汶小六","涂山璟","相柳");
        System.out.println(names);
// public static void shuffle(List<T>list)	打乱List集合中的元素顺序
        Collections.shuffle(names);
        System.out.println(names);
// public static <T>void sort(List<T>list)	对List集合中的元素进行升序排序
        List<Integer>list=new ArrayList<>();
       Collections.addAll(list,4,3,6,8);
        Collections.sort(list);
        System.out.println(list);
// public static <T>void sort(List<T>list,comparator<?super T>c)	对List集合中元素,按照比较器对象指定的规则进行升序排序

    }
}

Collections.sort(movies, new Comparator<Movie>() {
                @Override
                public int compare(Movie o1, Movie o2) {
                    return Double.compare(o1.getScore(),o2.getScore());
                }
            });
相关推荐
阿梦Anmory36 分钟前
如何使用 SCP 从 Windows 传输文件到 Ubuntu 服务器
服务器·windows·ubuntu
x***r15144 分钟前
Lively Wallpaper 安装教程:动态壁纸设置+自定义路径(64位)
windows
一个人旅程~44 分钟前
老电脑硬盘安装系统后容量不够怎么办?如何用压缩技术对C盘进行压缩?步骤和风险防范
windows·经验分享·电脑
YJlio1 小时前
Sysinternals实战教程专栏介绍:这不是一本到此为止的书,而是一套看穿 Windows 的排障方法
windows·python·电脑·outlook·windows部署·eixv3·pe装机
海兰1 小时前
【第3篇】使用LangGraph构建工作流
人工智能·windows
李少兄1 小时前
Windows系统JDK安装与环境配置指南(2026年版)
java·开发语言·windows
xiaoshuaishuai810 小时前
C# 接入 OpenClaw
windows·visualstudio·c#
无限进步_16 小时前
【C++】只出现一次的数字 II:位运算的三种解法深度解析
数据结构·c++·ide·windows·git·算法·leetcode
0xDevNull18 小时前
Windows系统使用nvm实现多版本切换Node.js详细教程
windows·node.js
无限进步_18 小时前
【C++】多重继承中的虚表布局分析:D类对象为何有两个虚表?
开发语言·c++·ide·windows·git·算法·visual studio