选择题
1.C 2.B 3.AD 4.C 5.C
简答题
1.分别为:List、Set和Map
Set 接口继承Collection接口,存储一组唯一,无序的对象。
List 接口继承Collection接口,存储一组不唯一,有序的对象。
Map 接口存储一组成对的键-值对象,提供key(键)到value(值)的映射。
2.ArrayList是List接口的一个具体实现类,它实现了可变大小的数组,在进行随机访问和遍历元素时,它提供更好的性能。
LinkedList是List接口的一个具体实现类,它提供了额外的addFirst()、addLast()、removeFirst()、removeLast()等方法,可以在LinkedList的首部或尾部进行插入或者删除操作。
3.改正:String str = (String)pList.get(i);
原因:返回类型Object,应该进行强制类型转换。
public class Queue {
private 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 q = new Queue();
q.add("one");
q.add("two");
q.add("three");
int len=q.list.size();
for(int i=0;i<len;i++){
System.out.println(q.get());
}
}
}
public class MapTest {
public static void main(String[] args){
Map<String,Integer> map = new HashMap<String,Integer>();
//向HashMap中存放几个键-值对
map.put("张三",80);
map.put("李四",70);
map.put("王二",90);
System.out.println("成绩单如下:\n姓名\t成绩");
for(String key:map.keySet())
System.out.println(key+"\t"+map.get(key));
//修改张三的成绩
map.put("张三",100);
System.out.println("修改后的成绩单如下:\n姓名\t成绩");
for(String key:map.keySet())
System.out.println(key+"\t"+map.get(key));
}
}
练习1
public class Penguin {
String name = "无名氏";
int health = 100;
int love = 0;
String sex = "Q仔";
public Penguin(String name, String sex) {
this.name = name;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
public class Test1 {
public static void main(String[] args) {
Penguin ououPenguin = new Penguin("欧欧", "Q仔");
Penguin yayaPenguin = new Penguin("亚亚", "Q妹");
Penguin meimeiPenguin = new Penguin("美美", "Q妹");
Penguin feifeiPenguin = new Penguin("菲菲", "Q妹");
List penList = new ArrayList();
penList.add(ououPenguin);
penList.add(yayaPenguin);
penList.add(meimeiPenguin);
penList.add(2, feifeiPenguin); // 添加feifeiPenguin到指定位置
System.out.println("共计有" + penList.size() + "只企鹅。");
System.out.println("分别是:");
for (int i = 0; i < penList.size(); i++) {
Penguin dog = (Penguin) penList.get(i);
System.out.println(dog.getName() + "\t"
+ dog.getSex());
}
penList.remove(penList.size()-1);
penList.remove(feifeiPenguin);
System.out.println("\n删除之后还有" + penList.size() + "只企鹅。");
System.out.println("分别是:");
for (int i = 0; i < penList.size(); i++) {
Penguin dog = (Penguin) penList.get(i);
System.out.println(dog.getName() + "\t" + dog.getSex());
}
if(penList.contains(meimeiPenguin))
System.out.println("\n集合中包含美美的信息");
else
System.out.println("\n集合中不包含美美的信息");
}
}
练习2
public class Dog {
private String name;
private int health = 100;
private int love = 10;
private String strain;
public Dog(String name,String strain) {
this.name = name;
this.strain = strain;
}
public String getName() {
return name;
}
public int getHealth() {
return health;
}
public int getLove() {
return love;
}
public String getStrain() {
return strain;
}
}
public class Test2 {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
Dog ououDog = new Dog("欧欧", "雪娜瑞");
Dog yayaDog = new Dog("亚亚", "拉布拉多");
Dog meimeiDog = new Dog("美美", "雪娜瑞");
Dog feifeiDog = new Dog("菲菲", "拉布拉多");
Map dogs = new HashMap();
dogs.put("欧欧", ououDog);
dogs.put("亚亚", yayaDog);
dogs.put("美美", meimeiDog);
dogs.put("菲菲", feifeiDog);
if (dogs.containsKey("欧欧")) {
Dog dog = (Dog) dogs.get("欧欧");
System.out.println("Map中存在指定对象,对象信息如下:");
System.out.println(dog.getName() + "\t" + dog.getStrain());
} else {
System.out.println("Map中不存在该对象。");
}
}
}