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
*/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM