Java:移除陣列Array中重複的值
隱隱感覺到發展為系列文的跡象,
之前一篇介紹的是陣列與字串的轉換,
連結在: Java:陣列與字串轉換,Array to String 和 String to Array 。
而這一篇則是要簡單介紹一下如何移除陣列中重複的值或項目。
要達到移除陣列中的重複項目,傳統的作法是另外建一個陣列,
然後在每次把新項目加入之前檢查新陣列中是否已有應項目。
上面的想法很直覺,但實作起來最難的地方應該是不知道新陣列該建多大,
不過可以利用 ArrayList 加入項目後再轉為陣列即可。
除了上面所說的方法外,下面的程式碼是直接利用 Set 中項目或值不會重複的特性,
只要一個一個把值放進去,就可以自動移除重複的項目了!超簡單!
下一篇要介紹的是如何對陣列作排序,
請見:Java:針對Array中的值作排序。
更多關於 Java 的教學及程式範例,請見:
Java 教學及程式範例大全。
關鍵字: Java, array, 陣列, 重複, 輸出, 移除, 項目, 值, 數字, 字串, 物件
參考資料:
之前一篇介紹的是陣列與字串的轉換,
連結在: Java:陣列與字串轉換,Array to String 和 String to Array 。
而這一篇則是要簡單介紹一下如何移除陣列中重複的值或項目。
要達到移除陣列中的重複項目,傳統的作法是另外建一個陣列,
然後在每次把新項目加入之前檢查新陣列中是否已有應項目。
上面的想法很直覺,但實作起來最難的地方應該是不知道新陣列該建多大,
不過可以利用 ArrayList 加入項目後再轉為陣列即可。
除了上面所說的方法外,下面的程式碼是直接利用 Set 中項目或值不會重複的特性,
只要一個一個把值放進去,就可以自動移除重複的項目了!超簡單!
1 package werdna1222coldcodes.blogspot.com.demo.array; 2 3 import java.text.ParseException; 4 import java.util.HashSet; 5 import java.util.Set; 6 7 public class ArrayRemoveDuplicateDemo { 8 9 public static void main(String[] args) throws ParseException { 10 11 // 建立有重複項目之 int array 12 int duplicateArray[] = { 4, 2, 5, 1, 5, 2, 4, 3 }; 13 14 // 利用 Set 的特性,將所有項目放入 Set 15 中即可移除重複的項目 16 Set<Integer> intSet = new HashSet<Integer>(); 17 for (int element : duplicateArray) { 18 intSet.add(element); 19 } 20 21 // intSet.size() 為不重複項目的個數 22 int nonDuplicateArray[] = new int[intSet.size()]; 23 24 // 將 Set 中的項目取出放到 nonDuplicateArray 中 25 // 這裡也可以利用 iterator 來達成 26 Object[] tempArray = intSet.toArray(); 27 for (int i = 0; i < tempArray.length; i++) { 28 nonDuplicateArray[i] = (Integer) tempArray[i]; 29 } 30 31 // 輸出結果:1, 2, 3, 4, 5, 32 for (int element : nonDuplicateArray) { 33 System.out.print(element + ", "); 34 } 35 } 36 }
下一篇要介紹的是如何對陣列作排序,
請見:Java:針對Array中的值作排序。
更多關於 Java 的教學及程式範例,請見:
Java 教學及程式範例大全。
關鍵字: Java, array, 陣列, 重複, 輸出, 移除, 項目, 值, 數字, 字串, 物件
參考資料: