可变参数:
可变参数:就是形参是可以变化的,很灵活,不需要提前定义好具体的数据,可变参数的变量底层是一个数组
格式:
public static int sum(数据类型...变量名) {}
注意事项:
如果方法里有多个参数,包含可变参数,可变参数要放在最后
代码演示:
public class Demo05 {public static void main(String[] args) {System.out.println(getSum(10, 20, 30, 40, 50, 60, 70, 80, 90, 100));}public static int getSum(int num, int... a) {int sum = 0;for (int i = 0; i < a.length; i++) {sum += a[i];}return sum;}
}
不可变集合:
- static List of(E…elements) 创建一个具有指定元素的集合对象
- 在List、Set、Map都有of方法,这个方法不能添加、修改、删除,但是可以实现集合的批量添加,就不用写add了
- 在Map接口中,有一个ofEntries方法可以提高代码的阅读性,首先会把键值对封装成一个Entry对象,再把这个Entry对象添加到集合当中
方法:
static List of(E…elements) | 创建一个具有指定元素的List集合对象 |
---|---|
static Set of(E…elements) | 创建一个具有指定元素的Set集合对象 |
static <K , V> Map<K,V> of(E…elements) | 创建一个具有指定元素的Map集合对象 |
代码演示:
public class Demo06 {public static void main(String[] args) {// static <E> List<E> of(E…elements) 创建一个具有指定元素的List集合对象//通过调用List.of方法来创建一个不可变的集合,of方法的形参就是一个可变参数。//再创建一个ArrayList集合,并把这个不可变的集合中所有的数据,都添加到ArrayList中。相当于帮助写了add,就是简化操作,// 并且参数是不可变的,再通过list.add、remove啥的都不行ArrayList<String> list3 = new ArrayList<>(List.of("a", "b", "c", "d"));System.out.println(list3);//static <E> Set<E> of(E…elements) 创建一个具有指定元素的Set集合对象,set不可重复Set<String> set = Set.of("a", "b", "c", "d");System.out.println(set);//static <K , V> Map<K,V> of(E…elements) 创建一个具有指定元素的Map集合对象Map<String, String> map = Map.of("韩信", "打野", "李白", "打野", "露娜", "打野");System.out.println(map);//通过调用ofEntries里的entry把键值对封装成一个对象,再把对象添加到集合,使用起来和Map.of方法是一样的,作用是提高代码的阅读性Map<String, String> entries = Map.ofEntries(Map.entry("韩信", "打野"), Map.entry("李白", "打野"), Map.entry("露娜", "打野"));System.out.println(entries);}
}