2015-02-12 80 views
1

我有一個連續的重複行的整數數組列表。 我想輸出與以前不一樣的每個號碼。從Java中的數組列表中刪除連續的重複對象

樣品:1 3 3 3 2 2 1 2 2 3 3 3

所需的輸出:1 3 2 1 2 3

我應該怎麼辦呢?

我基本上是創建一個倒排索引的單詞到任何文本文件的輸入。 我有一個文件/緩衝讀取器從多個文本文件中逐行讀取,並將每行放入一個2d數組中,第一列是.split字,第二列是從中獲得單詞的文件名。然後我有一個for循環來獲取所有文件中出現的特定單詞的頻率並將其添加到另一列。然後我將每一列複製到他們自己的數組列表中。我將arraylist單詞添加到哈希集以刪除重複項。但我想刪除連續的頻率重複列表。

+1

你有什麼已經寫? – lared 2015-02-12 01:11:33

+1

問題應該包括你迄今爲解決問題所做的工作的總結,以及你解決問題的困難的描述。請[編輯]你的問題,幷包括你試圖解決這個問題。更多信息[here](http://mattgemmell.com/what-have-you-tried/) – Pshemo 2015-02-12 01:14:43

回答

3

可能想法比較元素彼此:

public static ArrayList<Integer> noConsecutiveDups(ArrayList<Integer> input) { 

    ArrayList<Integer> newList = new ArrayList<Integer>(); 

    // Always add first value 
    newList.add(input.get(0)); 

    // Iterate the remaining values 
    for(int i = 1; i < input.size(); i++) { 
    // Compare current value to previous 
    if(input.get(i-1) != input.get(i)) { 
     newList.add(input.get(i)); 
    } 
    } 

    return newList; 
} 
+0

你是一名奇蹟工作者。我一直試圖比較input.get(i)和input.get(i + 1),並且它一直在超出範圍。我沒有想過要添加一個,然後與之前進行比較。 – 2015-02-12 02:53:54

+0

哈哈!只是有創意。 :-) – shirrine 2015-02-12 03:45:26