可變引數
可變引數【應用】
-
可變引數介紹
- 可變引數又稱引數個數可變,用作方法的形參出現,那麼方法引數個數就是可變的了
- 方法的引數型別已經確定,個數不確定,我們可以使用可變引數
-
可變引數定義格式
修飾符 返回值型別 方法名(資料型別… 變數名) { }
-
可變引數的注意事項
- 這裡的變數其實是一個陣列
- 如果一個方法有多個引數,包含可變引數,可變引數要放在最後
-
可變引數的基本使用
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)); System.out.println(sum(10,20,30,40,50,60)); System.out.println(sum(10,20,30,40,50,60,70)); 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; } }
建立不可變集合【理解】
目的:實現集合元素的批量新增。
-
方法介紹
- 在List、Set、Map介面中,都存在of方法,可以建立一個不可變的集合
- 這個集合不能新增,不能刪除,不能修改
- 但是可以結合集合的帶參構造,實現集合的批量新增
- 在Map介面中,還有一個ofEntries方法可以提高程式碼的閱讀性
- 首先會把鍵值對封裝成一個Entry物件,再把這個Entry物件新增到集合當中
- 在List、Set、Map介面中,都存在of方法,可以建立一個不可變的集合
-
示例程式碼
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傳遞的引數當中,不能存在重複的元素。 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"); // Exception in thread "main" java.lang.UnsupportedOperationException //不可變集合的目的是實現集合的批量新增。 //首先是通過呼叫List.of方法來建立一個不可變的集合,of方法的形參就是一個可變引數。 //再建立一個ArrayList集合,並把這個不可變的集合中所有的資料,都新增到ArrayList中。 ArrayList<String> list3 = new ArrayList<>(List.of("a", "b", "c", "d")); System.out.println(list3); } }