1.选择题答案:1C 2D 3AD 4B 5C
2.简答题
简述Java集合框架的三大类接口及区别
List、Set、Map
Set 接口继承Collection接口,存储一组唯一(不允许重复),无序的对象。
List 接口继承Collection接口,存储一组不唯一(允许重复),有序(以元素插入的次序来放置元素,不会重新排列)的对象。
Map接口存储一组(键-值)对象,提供key(键)到value(值)的映射。Map中的key不要求有序,不允许重复。value同样不要求有序,但允许重复。
根据你的理解,请说明ArrayList和LinkeList的区别
ArrayList是List接口的一个具体实现类,它实现了可变大小的数组,在进行随机访问和遍历元素时,它提供更好的性能。
LinkedList是List接口的一个具体实现类,它提供了额外的addFirst()、addLast()、removeFirst()、removeLast()等方法,可以在LinkedList的首部或尾部进行插入或者删除操作。而且,相较于ArrayList,在插入或者删除元素时,LinkedList提供更好的性能。
创建一个类Oueue,代表队列(特点,先进先出),添加add(Object obj)及get()方法,并添加main方法进行效果验证
import java.util.LinkedList;
public class Queue {
LinkedList list = new LinkedList();
public void add(Object obj) {
list.addFirst(obj);
}
public Object get(){
return list.removeLast();
}
public static void main(String[] args) {
Queue queue = new Queue();
queue.add(“张三”);
queue.add(“李四”);
queue.add(“王五”);
for (int i = 0; i < queue.list.size(); i++) {
System.out.println(queue.get());
}
}
}
创建一个HashMap对象,并在其添加一些学员的姓名和他们的分数,键为学员姓名(String类型), 值为学员的学分(Integer类型),从HashMap对象中获取这些学员的成绩并输出,修改其中一名学员 的成绩,然后再次输出所有学员的成绩
import java.util.HashMap;
public class Test {
public static void main(String[] args) {
//创建HashMap对象
HashMap<String, Integer> map = new HashMap<String, Integer>();
//向HashMap中添加键值对
map.put(“张三”, 80);
map.put(“李四”, 90);
map.put(“王五”, 100);
//未修改前输出的成绩
System.out.println("未修改的成绩如下:\n姓名\t成绩");
//foreach遍历
for (String keys : map.keySet()) {
System.out.println(keys+"\t"+map.get(keys));
}
//修改后的成绩
map.put("李四", 95);
System.out.println("修改后的成绩如下:\n姓名\t成绩");
for (String keys : map.keySet()) {
System.out.println(keys+"\t"+map.get(keys));
}
}
}