Java - Viết chương trình loại bỏ các phần tử trùng nhau trong 1 ArrayList.

Viết chương trình nhập vào 10 phần tử cho 1 ArrayList chứa các số nguyên dương. Sau đó loại bỏ các phần tử trùng nhau trong ArrayList đó và hiển thị lại ArrayList này.

Bài giải

-------------------- ######## --------------------

Hướng dẫn: Để giải bài này, chúng ta sẽ tạo mới 2 ArrayList: 1 ArrayList ban đầu và 1 ArrayList chứa các phần tử không trùng nhau của ArrayList ban đầu. Sau đó chúng ta sẽ tiến hành xóa tất cả các phần tử của ArrayList ban đầu và sử dụng phương thức addAll() thêm tất cả các phần tử của ArrayList không chứa các phần tử trùng nhau vào ArrayList ban đầu, kết quả ta sẽ có 1 ArrayList thỏa mãn yêu cầu của đề bài.

Bài giải
public static void main(String[] args) {
	int number;
	ArrayList<Integer> arrListNumber = new ArrayList<>();
	Scanner scanner = new Scanner(System.in);
		
	for (int i = 0; i < 10; i++) {
		System.out.print("Nhập phần tử thứ " + i + ": ");
		number = scanner.nextInt();
		arrListNumber.add(number);
	}
		
	// tạo 1 ArrayList arrTemp
	ArrayList<Integer> arrTemp = new ArrayList<>();
		
	// thêm các phần tử của arrListNumber vào arrTemp
	// nếu trong arrTemp đã tồn tại phần tử giống trong arrListNumber
	// thì không thêm vào, ngược lại thêm bình thường
	for (int i = 0; i < arrListNumber.size(); i++) {
		if (!arrTemp.contains(arrListNumber.get(i))) {
			arrTemp.add(arrListNumber.get(i));
		}
	}
		
	// xóa các phần tử của arrListNumber
	arrListNumber.clear();
		
	// thêm tất cả các phần tử của arrTemp vào arrListNumber
	// lúc này ta sẽ có 1 ArrayList arrListNumber
	// không chứa các phần tử trùng nhau
	arrListNumber.addAll(arrTemp);
		
	System.out.println("Các phần tử có trong arrListNumber là: ");
	System.out.println(arrListNumber);
}

Kết quả sau khi biên dịch chương trình:

Nguồn: freetuts.net