2017-04-06 93 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; 
}