【JavaSE】Java基础语法(三十一):可变参数

news2024/11/25 15:47:48

文章目录

  • 1. 可变参数
  • 2. 创建不可变集合


在这里插入图片描述

1. 可变参数

  • 可变参数介绍
    • 可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了
    • 方法的参数类型已经确定,个数不确定,我们可以使用可变参数

  • 可变参数定义格式
    修饰符 返回值类型 方法名(数据类型… 变量名) { }
    

  • 可变参数的注意事项

    • 这里的变量其实是一个数组
    • 如果一个方法有多个参数,包含可变参数,可变参数要放在最后
  • 可变参数的基本使用

    public class ArgsDemo01 {
    	public static void main(String[] args) {
    		System.out.println(sum(10, 20));
    		System.out.println(sum(10, 20, 30));
    		System.out.println(sum(10, 20, 30, 40));
    		System.out.println(sum(10,20,30,40,50,60,70,80,90,100));
    	}
    		
    	// public static int sum(int b,int... a) {
    	// return 0;
    	// }
    	public static int sum(int... a) {
    		int sum = 0;
    		for(int i : a) {
    			sum += i;
    		}
    		return sum;
    	}
    }
    

2. 创建不可变集合

  • 方法介绍
    • 在List、Set、Map接口中,都存在of方法,可以创建一个不可变的集合
      • 这个集合不能添加,不能删除,不能修改
      • 但是可以结合集合的带参构造,实现集合的批量添加
    • 在Map接口中,还有一个ofEntries方法可以提高代码的阅读性
      • 首先会把键值对封装成一个Entry对象,再把这个Entry对象添加到集合当中
  • 示例代码
public class MyVariableParameter4 {
	public static void main(String[] args) {
		// static <E> List<E> of(E…elements) 创建一个具有指定元素的List集合对//static <E> Set<E> of(E…elements) 创建一个具有指定元素的Set集合对象
		//static <K , V> Map<K,V> of(E…elements) 创建一个具有指定元素的Map集
		合对象
		//method1();
		//method2();
		//method3();
		//method4();
	}
	
	private static void method4() {
		Map<String, String> map = Map.ofEntries(
		Map.entry("zhangsan", "江苏"),
		Map.entry("lisi", "北京"));
		System.out.println(map);
	}
	
	private static void method3() {
		Map<String, String> map = Map.of("zhangsan", "江苏", "lisi", "北京",
		"wangwu", "天津");
		System.out.println(map);
	}
	
	private static void method2() {
		//传递的参数当中,不能存在重复的元素。
		Set<String> set = Set.of("a", "b", "c", "d","a");
		System.out.println(set);
	}
	
	private static void method1() {
		List<String> list = List.of("a", "b", "c", "d");
		System.out.println(list);
		//list.add("Q");
		//list.remove("a");
		//list.set(0,"A");
		//System.out.println(list);
		// ArrayList<String> list2 = new ArrayList<>();
		// list2.add("aaa");
		// list2.add("aaa");
		// list2.add("aaa");
		// list2.add("aaa");
		//集合的批量添加。
		//首先是通过调用List.of方法来创建一个不可变的集合,of方法的形参就是一个可变参
		数。
		//再创建一个ArrayList集合,并把这个不可变的集合中所有的数据,都添加到ArrayList
		中。
		ArrayList<String> list3 = new ArrayList<>(List.of("a", "b", "c",
		"d"));
		System.out.println(list3);
	}
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/584740.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【独立版】智慧城市同城V4_2.2.7全开源全插件VUE版,修复房产信息组件商户发布二手房房源信息未和商户关联的问题

源码介绍 【独立版】智慧城市同城V4 查看更多关于 智慧城市同城V4 的文章 _2.2.7全开源全插件VUE版&#xff0c;修复房产信息组件商户发布二手房房源信息未和商户关联的问题&#xff01; 智慧城市同城是一套专注于多城市生活服务同城技术解决方案,全面覆盖同堿信息、商家联盟、…

端口扫描工具-Nmap

Nmap是一款功能强大&#xff0c;功能丰富的网络扫描工具&#xff0c;对于网络管理员和安全专业人员来说&#xff0c;是一个非常有用的工具&#xff0c;并且被广泛应用于安全审计、网络调查、漏洞搜寻等领域。 &#xff08;能扫描主机的端口&#xff0c;查看端口是否开放&#x…

智慧物流货运系统源码,网络货运平台系统源码,货运系统开发源码部署

一套结合货主、平台、实际承运人多方业务场景&#xff0c;构建人、车、货、企一体的标准化网络货运平台系统源码。 文末获取联系 平台服务于货主与司机&#xff0c;进行服务对接&#xff0c;为货主节省时间找车&#xff0c;为司机找货获得利润。 货主端&#xff1a;货车主在线发…

GPT模型支持下的Python-GEE遥感云大数据分析、管理与可视化

随着航空、航天、近地空间等多个遥感平台的不断发展&#xff0c;近年来遥感技术突飞猛进。由此&#xff0c;遥感数据的空间、时间、光谱分辨率不断提高&#xff0c;数据量也大幅增长&#xff0c;使其越来越具有大数据特征。对于相关研究而言&#xff0c;遥感大数据的出现为其提…

室内外大型商演、体育赛事观赏防雷指南

前言 随着社会的发展&#xff0c;人民生活水平的提高&#xff0c;生活方式的改变&#xff0c;户外颇具规模的各种集会、商演、大型文体及体育活动等举办频次越来越频繁&#xff0c;持续时间越来越长&#xff0c;有的集会持续数天甚至十几天&#xff0c;因此需要采取全方位的防…

DUMPBIN查看dll函数定义 及MFC常用 生成一个C# C++等任意语言都能调用的dll

DUMPBIN /EXPORTS "C:\Windows\System32\uxtheme.dll" /EXPORTS 导出的所有定义。(这里的定义应该就是指的函数名吧) dumpbin.exe是微软二进制文件转储器。显示有关通用对象文件格式 (COFF) 的二进制文件的信息。 可以使用 DUMPBIN 检查 COFF 对象文件、 COFF 对象、…

2023年上半年系统集成项目管理工程师上午真题及答案解析

1.在( )领域我国远末达到世界先进水平&#xff0c;需要发挥新型国家体制优势&#xff0c;集中政府和市场两方面的力量全力发展。 A.卫星导航 B.航天 C.集成电路 D.高铁 2.ChatGPT 于2022年11月30日发布&#xff0c;他是人工智能驱动( )。 …

NFTScan | 05.22~05.28 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期&#xff1a;2023.05.22 ~ 2023.05.28 NFT Hot News&#xff1a;NFT 热点资讯 01/ 数据&#xff1a;24 小时内两巨鲸共抛售 349 枚 MAYC NFT 5 月 22 日&#xff0c;Debank 数据显示&#xff0c;近 …

如何将数据从旧电脑传输到新电脑,哪种文件传输方式更好

迁移到新的Windows 10 电脑是一个令人兴奋的时刻&#xff0c;尤其是如果您有幸从我们现在可用的最佳Windows笔记本电脑列表中选择一个选项。问题是您熟悉的文件位于旧电脑上&#xff0c;并且您不想重新开始。为了简化电脑之间的转换&#xff0c;可以使用以下七种方式进行文件传…

Top大学教授:青年学者,请避免这些写作问题→

在科研初期&#xff0c;很多作者由于缺乏经验和指导&#xff0c;糊里糊涂地发了一些质量较低的论文。 为了帮助青年科学家提高写作能力&#xff0c;比利时鲁汶大学的Blocken教授&#xff08;同时也是Building & Environment、Journal of Wind Engineering & Industrial…

Linux第三天

man手册一般用于工具 比如nmap lsblk :查看光盘内容 //说明还没被挂载 //在 /etc/fstab vim中进行开机挂载 yum repolist -v //查看软件安装的历史列表

【编写UI自动化测试集】Appium+Python+Unittest+HTMLRunner​

简介 获取AppPackage和AppActivity 定位UI控件的工具 脚本结构 PageObject分层管理 HTMLTestRunner生成测试报告 启动appium server服务 以python文件模式执行脚本生成测试报告 下载与安装 下载需要自动化测试的App并安装到手机 获取AppPackage和AppActivity 方法一 有源码…

Linux Shell 半自动方式部署单机Oracle 21C

oracle前言 Oracle开发的关系数据库产品因性能卓越而闻名&#xff0c;Oracle数据库产品为财富排行榜上的前1000家公司所采用&#xff0c;许多大型网站也选用了Oracle系统&#xff0c;是世界最好的数据库产品。此外&#xff0c;Oracle公司还开发其他应用程序和软件。同时&#…

洗地机如何选购?洗地机十大名牌排行榜

洗地机是今年地面清洁领域热门的品类&#xff0c;如果你每天都要打扫家庭卫生的话&#xff0c;家里还有小孩子和有养宠物的话&#xff0c;如果你经常做饭&#xff0c;需要经常清洁厨房地面的话&#xff0c;那么你一定一定要配备一台洗地机在家里&#xff0c;它的高清洁力和便捷…

创新微MinewSemi厘米级定位精度的GNSS 模块—MS32SN4

近日&#xff0c;中国无线连接解决方案提供商MinewSemi推出了其GNSS模块系列-MS32SN4。MinewSemi表示&#xff0c;这些嵌入式模块为产品提供了一种易于使用、具有成本效益的解决方案&#xff0c;支持物联网&#xff08;IoT&#xff09;应用。 集成天线模块适用于消费者解决方案…

【TI毫米波雷达笔记】IWR6843AOPEVM-G的UniFlash烧录配置及避坑(官方手册有误)

【TI毫米波雷达笔记】IWR6843AOPEVM-G的UniFlash烧录配置及避坑&#xff08;官方手册有误&#xff09; 毫米波雷达有两种烧录方式&#xff1a; 搭配ICBOOST烧录雷达板自己烧录 搭配ICBOOST烧录时 需要配置为 MMWAVEICBOOST 模式 SOP都是下拉 而后通过 MMWAVEICBOOST 上的SO…

数据库基础——9.聚合函数

这篇文章来讲一下数据库中的聚合函数 目录 1. 聚合函数介绍 1.1 AVG和SUM函数 1.2 MIN和MAX函数 1.3 COUNT函数 2. GROUP BY 2.1 基本使用 2.2 使用多个列分组 2.3 GROUP BY中使用WITH ROLLUP 3. HAVING 3.1 基本使用 3.2 WHERE和HAVING的对比 4. SELECT的执…

Bugku CTF 矛盾 网站被黑

矛盾 打开链接&#xff0c;代码审计 使用get方式给num传参&#xff1b; 如果传入的不是数字&#xff0c;则会原样输出&#xff0c;比如我们传入abc 晃眼一看传入num等于1就可以输出flag&#xff0c;发现并不行 如果输入 注意&#xff0c;这里是两个等号 在php中&#xff0…

低代码会导致程序员失业吗?

低代码并不会导致程序员失业。低代码有价值&#xff0c;但请不要妖魔化。 虽然低代码开发&#xff0c;直到现在都没有清晰明确的定义&#xff0c;但低代码平台也不是先有定义再发展起来的事物。 低代码可以解决两个困扰已久的问题&#xff1a; 1、做开发&#xff0c;一定需要…

Cache性能,多核,一致性

cache performance影响因素&#xff1a; 1.cache size 2.block size 3.组相连度&#xff0c;4.替换策略 目标 1.减少miss rate(可以用一个指针指向不常用的数据结构) 2.减少miss penalty 3.减少hit cost 多核系统下的cache设计 分布or集中 集中 优点 缺点 资源竞争,不平等…