从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]
任何人都可以请帮助我。
由于提前
从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]
任何人都可以请帮助我。
由于提前
你可以做如下:
// arrayList1 is List of Strings
Set<String> s = new LinkedHashSet<>(arrayList1);
这将删除*全部*重复。 OP想要不同的东西。 – QBrute
你可以尝试这样的事情:
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;
}
你尝试过这么远吗? – QBrute