Java 容器类练习题(一)

题目1:创建一个名为Gerbil的类,该类拥有一个整数域gerbilNumber,通过构造器初始化gerbilNumber。创建方法hop()显示该对象的gerbilNumber,以及“is hopping.” 创建一个ArrayList,并将Gerbil对象添加到该List中。用get()方法遍历List中所有的Gerbil对象,并调用hop()方法。

解答1:

import java.util.*;

class Gerbil{
    private int gerbilNumber;
    public Gerbil(int number){
        gerbilNumber = number;
    }
    public void hop(){
        System.out.println("Gerbil "+gerbilNumber+" is hopping.");
    }
}

public class Exercise1{
    public static void main(String[] args){
        List<Gerbil> gerbils = new ArrayList<Gerbil>();
        for(int i = 0; i < 5; i++){
            gerbils.add(new Gerbil(i));
        }
        for(int i = 0; i < gerbils.size(); i++){
            gerbils.get(i).hop();
        }
    }
}
/* output
Gerbil 0 is hopping.
Gerbil 1 is hopping.
Gerbil 2 is hopping.
Gerbil 3 is hopping.
Gerbil 4 is hopping.
*/

分析:

  • ArrayList对象被向上转型为List接口。在使用Java容器类时,大部分情况下只需要和接口打交道,只需要在创建容器类对象时指明对象类型。
  • List可以简单看作是具有自动扩容功能的数组。向List中添加新元素用add()方法,获取元素用get()方法。
  • List接口的具体实现包括ArrayList和LinkedList。
  • List和List<T>的区别在于编译时是否进行类型校验。

 

题目2:实现一个存储整形元素的Set,加入随机整数,演示Set的元素不能重复。

解答2:

import java.util.*;

public class Exercise2{
    public static void main(String[] args){
        Set<Integer> integers = new HashSet<Integer>();
        Random rand = new Random(47);
        int num;
        for(int i = 0; i < 10; i++){
            num = rand.nextInt(6);
            System.out.print(num+" ");
            integers.add(num);
        }
        System.out.println();
        for(int i : integers) System.out.print(i+" ");
    }
}
/* output
2 5 1 5 1 5 4 2 0 1
0 1 2 4 5
*/

 

posted on 2017-02-22 23:51  流动的空气  阅读(1873)  评论(0编辑  收藏  举报

导航