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

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

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);
  }
}

相关文章
|
1月前
|
存储 Java 容器
JAVA基本语法
JAVA基本语法
15 0
|
2天前
|
Java 程序员 编译器
JavaSE&Java8 Lambda 表达式
JavaSE&Java8 Lambda 表达式
|
2天前
|
存储 Java 程序员
JavaSE&Java的异常
JavaSE&Java的异常
19 0
|
3天前
|
存储 安全 Java
滚雪球学Java(19):JavaSE中的内存管理:你所不知道的秘密
【4月更文挑战第8天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
30 4
滚雪球学Java(19):JavaSE中的内存管理:你所不知道的秘密
|
14天前
|
存储 安全 Java
Java语法掌握:打好编程基础的关键(二)
Java语法掌握:打好编程基础的关键
52 0
|
14天前
|
存储 Java
Java语法掌握:打好编程基础的关键(一)
Java语法掌握:打好编程基础的关键
15 0
Java语法掌握:打好编程基础的关键(一)
|
1月前
|
Java 程序员 数据安全/隐私保护
Java中的异常语法知识居然这么好玩!后悔没有早点学习
Java中的异常语法知识居然这么好玩!后悔没有早点学习
32 1
|
1月前
|
存储 Java API
JAVA的基础语法
JAVA的基础语法
11 0
|
1月前
|
存储 Java 测试技术
滚雪球学Java(11):高效编程之道:精通JavaSE顺序结构的关键技巧
【2月更文挑战第23天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!
42 2