2011/05/21

善用 Java Set 相關 class

  昨天整個下午都在處理前人留下的系統問題,查到最後發現當時寫程式的人偷懶,
認定某個欄位資料一定是固定長度,但線上問題需要即時修改來解決.再加上要一同
修正相同帳號要能加總金額且只要產出一筆報表資料的問題.問題雖然修正,但當下
造成作業部門無法即時匯款是一個IT的污點.這件事原因除了懶之外,另一個原因
就是線上查問題後改程式花費太多時間,回家想通了之後找到另一個更快的方法,那
就是善用別人已發明的輪子,不要重頭寫.以下短短的程式片段就可以很快的將一堆
帳號排除重覆資料,再利用這些排序的帳號來出報表.


7 public class ClassContents {
8
9 public static void SetTest()
10 {
11 String names[] = { "Mercury", "Venus", "Earth", "Apple",
12 "Mars", "Jupiter", "Saturn", "Uranus", "Mars",
13 "Neptune", "Pluto", "Apple", "Banana", "Cat", "Dog", "Dog"
14
15 };
16
17 // Collection set = new HashSet();
18 Collection set = new TreeSet();
19
20 for (int j = 0; j names.length; j++)
21 set.add(names[j]);
22
23 System.out.println("Set contains : ==================== ");
24 Iterator it = set.iterator();
25 while (it.hasNext())
26 System.out.println(it.next());
27
28
29 }
30