
课本P167
1.Collections、list、Set之间的联系和区别是什么?
2.遍历一个集合对象都有哪些方法?
3.同数组相比,Vector有何特点?
4.Vector与ArrayList、linkedList与ArrayList、Hashtable与Hashmap、Treemap与Hashmap之间的共同点和区别是?
5.Map、Collection、Iterator之间的关系如何?
6.Collection和Collections各自的功能是什么?
7.现需要选择集合类,他存储的对象集合可以被多个线程维护(增加、删除),请问应该选择什么样的集合类,为什么?如果多个线程知识读取,而不维护,应该选择什么样的集合类,为什么?
8.如何实现集合对象排序?定义一个复数类并按照复数的实部大小对复数对象进行排序。
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Iterator;
public class Complex{
int real;//实部
int imag;//虚部
public void print(Complex c){
System.out.print(((Integer)c.real).toString()+"+"+((Integer)c.imag).toString()+"i ");
}
public Complex(int real, int imag){//构造方法
this.real=real;
this.imag=imag;
print(this);//调用自身print方法
}
public static void main(String[] args){
List list=new ArrayList();//建立一个泛型数组专门来存储Complex类
System.out.println("原始:");
for(int i=0;i<5;++i){//随机生成5个复数
int real=(int)(Math.random()*10);//随机生成1~10的整数
int imag=(int)(Math.random()*10);
list.add(new Complex(real,imag));//用real和imag构造一个Complex并且加入list中
}
System.out.println();
System.out.println("排序后:");
// 自定义集合元素比较器(匿名内部类)
Collections.sort(list,new Comparator(){
public int compare(Complex a,Complex b) {
return a.real-b.real;
}
});
// Iterator遍历
for(Iterator it = list.iterator(); it.hasNext(); ) {
Complex object=(Complex)it.next();
object.print(object);
}
}
}
输出结果:
原始: 6+1i 8+3i 2+1i 7+2i 8+7i 排序后: 2+1i 6+1i 7+2i 8+3i 8+7i
10.对第7章第6题进行适当改造,将异常类型与中文提示存储在一个集合类当中,从而实现相应的功能。
补充题目:
1.编写程序测试Java集合框架中各种常用类的基本 *** 作(包括添加元素,删除元素,查找元素,遍历集合元素等)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)