Chào các bạn đã đến với chủ đề tiếp theo của mình. Hôm nay, mình sẽ tiếp tục tìm hiểu về một số thuật toán thường sử dụng trong Collection của Java. Ở bài này, mình sẽ đi qua những nội dung như sau:
Nội dung
- 1. Sắp xếp các phần tử trong List với hàm sort()
- 2. Xáo trộn các phần tử trong list với hàm shuffle()
- 3. Đảo ngược các phần tử trong list với hàm reverse()
- 4. Add tất cả các phần tử của list1 vào list2 với hàm addAll()
- 5. Tìm kiếm vị trí của phần tử trong list với hàm binarySearch()
- 6. Tìm số lần xuất hiện của phần tử với hàm frequency()
- 7. Tìm phần tử nhỏ nhất và lớn nhất trong list với hàm min(), max()
- 8. Kết
1. Sắp xếp các phần tử trong List với hàm sort()
Trong Java, để sắp xếp các phần tử trong List theo thứ tự tăng dần hoặc giảm dần, chúng ta sẽ sử dụng phương thức Collections.sort().
Ví dụ:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
// Creating an array list
ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(2, 5, 3, 1, 6, 8, 10, 7, 4, 9));
System.out.println("Unsorted ArrayList: " + numbers);
// Sort ascending
Collections.sort(numbers);
System.out.println("Sorted ascending: " + numbers);
// Sort descending
Collections.sort(numbers, Comparator.reverseOrder());
System.out.println("Sorted descending: " + numbers);
}
}
Sau khi chạy đoạn code trên, kết quả được in như sau:
Unsorted ArrayList: [2, 5, 3, 1, 6, 8, 10, 7, 4, 9]
Sorted ascending: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Sorted descending: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
2. Xáo trộn các phần tử trong list với hàm shuffle()
Phương thức shuffle() cho phép chúng ta xáo trộn các phần tử hiện có trong list. Kết quả sẽ trả về một kết quả ngẫu nhiên.
Ví dụ:
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
// Creating an array list
ArrayList<Integer> numbers = new ArrayList<>();
for(int i = 1; i <= 10; i++){
numbers.add(i);
}
System.out.println("Original ArrayList: " + numbers);
// Using the shuffle() method
Collections.shuffle(numbers);
System.out.println("Shuffle ArrayList : " + numbers);
}
}
Sau khi chạy đoạn code trên, kết quả được in như sau:
Original ArrayList: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Shuffle ArrayList : [7, 10, 2, 3, 4, 6, 1, 9, 5, 8]
3. Đảo ngược các phần tử trong list với hàm reverse()
Ví dụ:
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
// Creating an array list
ArrayList<Integer> numbers = new ArrayList<>();
for(int i = 1; i <= 10; i++){
numbers.add(i);
}
System.out.println("Original ArrayList: " + numbers);
// Using the reverse() method
Collections.reverse(numbers);
System.out.println("Reversed ArrayList : " + numbers);
}
}
Sau khi chạy đoạn code trên, kết quả được in như sau:
Original ArrayList: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Reversed ArrayList : [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
4. Add tất cả các phần tử của list1 vào list2 với hàm addAll()
Ví dụ:
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
// Creating an array list
ArrayList<Integer> numbers1 = new ArrayList<>();
for(int i = 1; i <= 5; i++){
numbers1.add(i);
}
System.out.println("ArrayList 1: " + numbers1);
ArrayList<Integer> numbers2 = new ArrayList<>();
numbers2.add(111);
numbers2.add(212);
// Using the addAll() method
numbers2.addAll(numbers1);
System.out.println("ArrayList 2 : " + numbers2);
}
}
Sau khi chạy đoạn code trên, kết quả được in như sau:
ArrayList 1: [1, 2, 3, 4, 5]
ArrayList 2 : [111, 212, 1, 2, 3, 4, 5]
5. Tìm kiếm vị trí của phần tử trong list với hàm binarySearch()
Ví dụ:
import java.util.Collections;
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
// Using binarySearch()
int pos = Collections.binarySearch(numbers, 3);
System.out.println("The position of 3 is " + pos);
}
}
Sau khi chạy đoạn code trên, kết quả được in như sau:
The position of 3 is 2
6. Tìm số lần xuất hiện của phần tử với hàm frequency()
Ví dụ:
import java.util.Collections;
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList1: " + numbers);
int count = Collections.frequency(numbers, 2);
System.out.println("Count of 2: " + count);
}
}
Sau khi chạy đoạn code trên, kết quả được in như sau:
ArrayList1: [1, 2, 3, 2]
Count of 2: 2
7. Tìm phần tử nhỏ nhất và lớn nhất trong list với hàm min(), max()
Ví dụ:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
// Creating an array list
ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(2, 5, 3, 1, 6, 8, 10, 7, 4, 9));
System.out.println("ArrayList: " + numbers);
// Find min number
int min = Collections.min(numbers);
System.out.println("Minimum number: " + min);
// Find max number
int max = Collections.max(numbers);
System.out.println("Maximum number: " + max);
}
}
Sau khi chạy đoạn code trên, kết quả được in như sau:
ArrayList: [2, 5, 3, 1, 6, 8, 10, 7, 4, 9]
Minimum number: 1
Maximum number: 10
8. Kết
Như vậy chúng ta đã tìm hiểu xong một số thuật toán thường sử dụng trong Collection của Java. Cảm ơn các bạn đã theo dõi bài viết của mình. Chúc các bạn thành công. Hẹn gặp lại các bạn ở những chủ đề tiếp theo.