SCJP 1.6版考題 195

出自 陳富國維基館
於 2013年3月30日 (六) 00:19 由 Ikk (對話 | 貢獻) 所做的修訂 (新頁面: Given: 3. import java.util.*; 4. public class Mapit{ 5. public static void main(String[] args){ 6. Set<Integer> set = new HashSet<Integer>(); 7. Integer i1 = 45; 8. ...)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
前往: 導覽搜尋
Given:
3. import java.util.*;
4. public class Mapit{
5.   public static void main(String[] args){
6.     Set<Integer> set = new HashSet<Integer>();
7.     Integer i1 = 45;
8.     Integer i2 = 46;
9.     set.add(i1); 
10.     set.add(i1);
11.     set.add(i2); System.out.print(set.size() + " ");
12.     set.remove(i1); System.out.print(set.size() + " ");
13.     i2 = 47;
14.     set.remove(i2); System.out.print(set.size() + " ");
15.   }
16.}

What is the result?
 
 A. 2 1 0
 B. 2 1 1
 C. 3 2 1
 D. 3 2 2
 E. Compilation fails.
 F. An exception is thrown at runtime. 

解答


Ans: B

解說:

HashSet湊雜集合,用物件的特徵值計算出雜湊值,此題用Integer物件計算雜湊值,只要Integer的數字一樣計算出的雜湊值就一樣,
一樣的雜湊值物件不論加(add)幾次都不會重複加入雜湊集合中。移除物件也是依據雜湊值來找出對應的物件。