Java第十章集合类

Java第十章集合类,第1张

Java第十章集合

集合类

课本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集合框架中各种常用类的基本 *** 作(包括添加元素,删除元素,查找元素,遍历集合元素等)

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5576572.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存