從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