第十二天
阿新 • • 發佈:2020-10-28
一、請簡述集合框架。
集合是單列集合類的根介面,用於儲存一系列符合某種規則的元素,它有兩個重要的子介面,分別是java.util.List
和java.util.Set
。其中,List
的特點是元素有序、元素可重複。Set
的特點是元素無序,而且不可重複。List
介面的主要實現類有java.util.ArrayList
和java.util.LinkedList
,Set
介面的主要實現類有java.util.HashSet
和java.util.TreeSet
。
二、給定以下程式碼,請定義方法listTest()統計集合中指定元素出現的次數,如"a": 2,“b”: 2,"c" :1, “xxx”:0。
package com.ben.www; import java.util.ArrayList; import java.util.List; public class Demo2 { static void listTest(List<String> arrayList,String val){ int a=0; for (String list:arrayList) { if (list.equals(val)){ a++; } } System.out.println(val+":"+a); } public static void main(String[] args) { List<String> list=new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.add("a"); list.add("d"); list.add("e"); list.add("b"); list.add("a"); list.add("c"); list.add("xxx"); list.add("a"); list.add("b"); list.add("c"); list.add("xxx"); listTest(list,"a"); listTest(list,"b"); listTest(list,"c"); listTest(list,"xxx"); } }
三、定義一個方法,要求此方法把int陣列轉成存有相同元素的集合(集合裡面的元素是Integer),並返回。
package com.ben.www; import java.util.ArrayList; import java.util.List; public class Demo3 { static ArrayList zhuan(int[] list){ ArrayList<Integer> arr1=new ArrayList<Integer>(); for (Integer val:list) { arr1.add(val); } return arr1; } public static void main(String[] args) { int[] arr= {1,5,3,6,73,4}; System.out.println(zhuan(arr)); } }
四、定義一個集合,並把集合(集合裡面的元素是Integer)轉成存有相同元素的陣列,並將結果輸出在控制檯。(可以使用Object[]陣列型別接收轉換的陣列)
package com.ben.www; import java.util.ArrayList; public class Demo4 { public static void main(String[] args) { Integer[] arr={1,54,3,6,1,46,57}; ArrayList<Object> arrlist=new ArrayList<Object>(); for (Integer arr1:arr ) { arrlist.add(arr1); } System.out.println(arrlist); } }
五、定義一個方法listTest(ArrayList al, String s),要求使用contains()方法判斷al集合裡面是否包含s。
package com.ben.www; import java.util.ArrayList; public class Demo5 { static boolean listTest(ArrayList a1, String s){ return a1.contains(s); } public static void main(String[] args) { ArrayList a1=new ArrayList(); a1.add("a"); a1.add("r"); a1.add("e"); a1.add("s"); a1.add("w"); if (listTest(a1,"ss") == true) { System.out.println("包含有"); }else { System.out.println("沒有包含"); } } }
六、請簡述迭代器的實現原理
package com.ben.www; public class Demo6 { /* * 在Java中遍歷List時會用到Java提供的Iterator,Iterator十分好用,原因是: 迭代器是一種設計模式,它是一個物件,它可以遍歷並選擇序列中的物件,而開發人員不需要了解該序列的底層結構。迭代器通常被稱為“輕量級”物件,因為建立它的代價小。 Java中的Iterator功能比較簡單,並且只能單向移動: (1) 使用方法iterator()要求容器返回一個Iterator。第一次呼叫Iterator的next()方法時,它返回序列的第一個元素。注意:iterator()方法是java.lang.Iterable介面,被Collection繼承。 (2) 使用next()獲得序列中的下一個元素。 (3) 使用hasNext()檢查序列中是否還有元素。 (4) 使用remove()將迭代器新返回的元素刪除。 * */ }
七、定義一個方法listTest(ArrayList al, Integer s),要求返回s在al裡面第一次出現的索引,如果s沒出現過返回-1。
package com.ben.www; import java.util.ArrayList; public class Demo7 { static int listTest(ArrayList a1, Integer s){ return a1.indexOf(s); } public static void main(String[] args) { ArrayList arr=new ArrayList(); arr.add(3); arr.add(5); arr.add(6); arr.add(1); arr.add(7); System.out.println(listTest(arr,11)); } }