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

79 阅读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);
	}
}

\

在这里插入图片描述