可变参数
可变参数:形参的个数是可以变化的
- 格式:修饰符 返回值类型 方法名(数据类型… 变量名) { }
- 范例:public static int sun(int… a) { }
- 变量是一个数组
案例
需求:定义一个方法求 N 个数的和
public class MyMap2 {
public static void main(String[] args) {
int sum = getSum(1, 2, 3, 4, 5, 6);
System.out.println(sum);
}
public static int getSum(int... arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
}
创建不可变集合
方法名 | 说明 |
---|---|
static List of(E… elements) | 创建一个具有指定元素的List集合对象 |
static Set of(E… elements) | 创建一个具有指定元素的Set集合对象 |
static <K, V> Map<K, V> of(E… elements) | 创建一个具有指定元素的Map集合对象 |
static <K, V> Map<K, V> ofEntries(Entry<? extends K, ? extends V>… entries) | 创建一个具有指定元素的Map集合对象 |
-
List
List<String> list = List.of("a", "b", "c", "d"); System.out.println(list); // 不可变集合可以帮助可变集合批量添加元素,达到简化代码的作用 ArrayList<String> list2 = new ArrayList<>(List.of("a", "b", "c", "d")); System.out.println(list2);
不可变集合可以帮助可变集合批量添加元素,达到简化代码的作用
-
Set
Set<String> set = Set.of("a", "b", "c", "d"); System.out.println(set);
Set.of
传递的参数当中不能存在重复值 -
Map
Map<String, String> map = Map.of("zhangsan", "海南", "lisi", "广东"); System.out.println(map);
在传递的参数里,第一个和第二个参数作为一个键值对,第三个和第四个作为一个键值对,以此类推
Map<String, String> map1 = Map.ofEntries(Map.entry("zhangsan", "海南"), Map.entry("lisi", "广东")); System.out.println(map1);
把键值对封装成 entry 对象,再添加到集合当中