Educoder–Java高級特性(第二章)- 集合框架【筆記+參考代碼】
第一關
編程要求
請仔細閱讀右側代碼,根據方法內的提示,在Begin -
End區域內進行代碼補充,創建ArrayList集合並且向集合中添加數據,具體要求如下:添加字符串類型數據:https:www.educoder.net;
添加double類型數據:2018.423;
在方法中返回你創建的集合對象。
測試說明
補充完代碼後,點擊測評,平臺會對你編寫的代碼進行測試,當你的結果與預期輸出一致時,即爲通過。預期輸出:
https:www.educoder.net
2018.423
參考代碼
package step1;
// 導包
/********** Begin **********/
import java.util.ArrayList;
/********** End **********/
public class HelloWorld {
@SuppressWarnings("unchecked")
public ArrayList getList() {
/********** Begin **********/
ArrayList list = new ArrayList();
list.add("https:www.educoder.net");
list.add(2018.423);
return list;
/********** End **********/
}
}
第二關
編程要求
請仔細閱讀右側代碼,根據方法內的提示,在Begin - End區域內進行代碼補充,具體任務如下:刪除集合的第一個和最後一個元素;
添加兩個字符串:hello,educoder至集合中;
修改集合的第三個元素,改爲:list;
輸出集合中所有的元素。
測試說明
補充完代碼後,點擊測評,平臺會對你編寫的代碼進行測試,當你的結果與預期輸出一致時,即爲通過。測試輸入:
4
張三
李四
王五
趙六
預期輸出:
李四
王五
list
educoder
提示,獲取數組的長度:ArrayList list = new ArrayList(); list.add(1); list.add(3);
System.out.println(list.size()); 輸出:2
參考代碼
package step2;
import java.util.ArrayList;
import java.util.Scanner;
public class HelloWorld {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
//獲取輸入的數據並添加至集合
Scanner sc = new Scanner(System.in);
ArrayList list = new ArrayList<>();
int length = sc.nextInt();
for(int i =0 ; i< length; i++){
list.add(sc.next());
}
/********** Begin *********/
list.remove(0);
list.remove(length-2);
list.add("hello");
list.add("educoder");
list.set(2,"list");
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
/********** End **********/
}
}
第三關
編程要求
請仔細閱讀右側代碼,根據方法內的提示,在Begin - End區域內進行代碼補充,具體任務如下:分別定義HashSet、ArrayList、LinkedList、HashMap集合。並向每一個集合中添加www.educoder.net,Map集合的key設置爲address,最後將每一個集合返回。
測試說明
補充完代碼後,點擊測評,平臺會對你編寫的代碼進行測試,當你的結果與預期輸出一致時,即爲通過。測試輸入:無
預期輸出:
www.educoder.net
www.educoder.net
www.educoder.net
www.educoder.net
參考代碼
package step3;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
public class HelloWorld {
public HashSet getHashSet(){
/********** Begin **********/
HashSet set = new HashSet();
set.add("www.educoder.net");
return set;
/********** End **********/
}
public ArrayList getArrayList(){
/********** Begin **********/
ArrayList list = new ArrayList();
list.add("www.educoder.net");
return list;
/********** End **********/
}
public LinkedList getLinkedList(){
/********** Begin **********/
LinkedList list = new LinkedList();
list.add("www.educoder.net");
return list;
/********** End **********/
}
public Map getHashMap(){
/********** Begin **********/
Map map = new HashMap();
map.put("address","www.educoder.net");
return map;
/********** End **********/
}
}
第四關
編程要求
請仔細閱讀右側代碼,根據方法內的提示,在Begin - End區域內進行代碼補充,具體任務如下:創建一個只能存儲String類型數據的List集合;
將程序輸入的數據存入List集合中;
輸出集合中所有的數據。
提示:list.size()方法可以獲取集合的長度。
測試說明
補充完代碼後,點擊測評,平臺會對你編寫的代碼進行測試,當你的結果與預期輸出一致時,即爲通過。測試輸入:
張三
李四
王五
預期輸出:
集合的第1個數據爲:張三
集合的第2個數據爲:李四
集合的第3個數據爲:王五
參考代碼
package step4;
import java.util.*;
public class HelloWorld {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//程序會輸入三次數據
/********** Begin **********/
List<String> list = new ArrayList<String>();
while(sc.hasNext()){
list.add(sc.next());
}
for(int i=0;i<list.size();i++){
System.out.println("集合的第"+(i+1)+"個數據爲:"+list.get(i));
}
/********** End **********/
}
}
第五關
編程要求
請仔細閱讀右側代碼,根據方法內的提示,在Begin - End區域內進行代碼補充,具體任務如下:向menuDict集合中添加一道菜名lamb,它的價格是50;
獲取menuDict集合中的fish的價格並打印出來;
將menuDict集合中的fish的價格改爲100;
刪除menuDict集合中noodles這道菜;
輸出新的menuDict菜單。
測試說明
補充完代碼後,點擊測評,平臺會對你編寫的代碼進行測試,當你的結果與預期輸出一致時,即爲通過。pizza
40
noodles
30
carrot
20
turkey
34
fish
37
預期輸出:
37
{pizza=40,turkey=34,fish=100,lamb=50,carrot=20}
參考代碼
package step5;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Map<String, Integer> menuDict = new HashMap<>();
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
menuDict.put(sc.next(),sc.nextInt());
}
/********** Begin **********/
menuDict.put("lamb",50);
System.out.println(menuDict.get("fish"));
menuDict.put("fish",100);
menuDict.remove("noodles");
System.out.println(menuDict.toString());
/********** End **********/
}
}
第六關
1. 在Java中,以下( C )類的對象以鍵值對(key-value)的方式存儲對象
A、java.util.List
B、java.util.ArrayList
C、java.util.HashMap
D、java.util.LinkedList