第一题:简述java集合框架的三大类接口及其区别。
Java中集合类定义主要是java.util.*包下面,常用的集合在系统中定义了三大接口,这三类的区别是:
java.util.Set接口及其子类,set提供的是一个无序的集合;
java.util.List接口及其子类,List提供的是一个有序的集合;
java.util.Map接口及其子类,Map提供了一个映射(对应)关系的集合数据结构;
另外,在JDK5中新增了Queue(队列)接口及其子类,提供了基于队列的集合体系。每种集合,都可以理解为用来在内存中存放一组对象的某种”容器“—就像数组,就像前面我们自己定义的队列。
第二题:根据你的理解,请说明ArrayList和LinkedList的区别。
ArrayList实现了随机访问的接口,LinkedList实现了Quene的接口。
ArrayList是基于数据实现的list,而LinkedList是基于链表实现的list。所以,ArrayList拥有着数组的特性,LinkedList拥有着链表的特性。
第三题:
package cn.jbit.list;
import java.util.*;
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());
}
}
}
第四题:
package cn.jbit.map;
import java.util.HashMap;
import java.util.Map;
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));
}
}