2017-04-06 113 views
0

從ArrayList中刪除公共值。 考慮我有一個ArrayList的如下圖所示從android中的3個公共元素中刪除元素

arrayList1= [U1,U2,U3,.GY,.GY,.GY,U4,.GY,U5,U6,.GY,.GY,.GY]

我的結果應該是

arrayList1= [U1,U2,U3,.GY,.GY,U4,.GY,U5,U6,.GY,.GY]

任何人都可以請幫助我。

由於提前

+0

你嘗試過這麼遠嗎? – QBrute

回答

-1

你可以做如下:

// arrayList1 is List of Strings 
Set<String> s = new LinkedHashSet<>(arrayList1); 
+0

這將刪除*全部*重複。 OP想要不同的東西。 – QBrute

1

你可以嘗試這樣的事情:

public static void main(String[] args) { 
    List<String> list = Arrays.asList("U1","U2","U3",".GY",".GY",".GY","U4",".GY","U5","U6",".GY",".GY",".GY"); 
    System.out.println(removeCommon(list)); // [U1, U2, U3, .GY, .GY, U4, .GY, U5, U6, .GY, .GY] 
} 

static List<String> removeCommon(List<String> list) { 
    List<String> result = new ArrayList<>(list); 
    for (int i = 0; i < list.size() - 2; i++) { 
     if (list.get(i).equals(list.get(i + 1)) && list.get(i).equals(list.get(i + 2))) { 
      result.remove(i); 
     } 
    } 
    return result; 
}