Educoder–Java高级特性(第二章)- 集合框架【笔记+参考代码】

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

猜你喜欢

转载自blog.csdn.net/weixin_44177494/article/details/104854295