Arrays
1. Trích xuất mảng con
int[] mangCon = Arrays.copyOfRange(mangGoc, chiSoBatDau, chiSoKetThuc)
- mangGoc − Mảng gốc để trích xuất phần tử.
- chiSoBatDau − Chỉ số bắt đầu của phạm vi cần sao chép (bao gồm).
- chiSoKetThuc − Chỉ số kết thúc của phạm vi cần sao chép (không bao gồm).
Độ dài của mảng trả về sẽ là chiSoKetThuc - chiSoBatDau
2. Sắp xếp mảng
Arrays.sort(mangSo);
3. Chuyển đổi mảng thành danh sách
danhSachKetQua.add(new ArrayList<>(Arrays.asList(mangSo[i], mangSo[j], mangSo[k])));
4. Điền giá trị vào mảng
Arrays.fill(mang, 0);
Điền toàn bộ mảng bằng giá trị 0
String
1. Chuyển đổi thành mảng ký tự
String chuoi = "Java được phát triển bởi James Gosling";
char mangKyTu[] = chuoi.toCharArray();
Phương thức java.lang.String.toCharArray() chuyển đổi chuỗi này thành mảng ký tự mới.
2. Lấy ký tự tại vị trí chỉ định
chuoi.charAt(4)
3. Trích xuất số nguyên từ chuỗi
int a = Integer.parseInt("12");
Phân tích chuỗi tham số s thành số nguyên thập phân có dấu.
List
ArrayList
1. Thêm phần tử vào cuối
danhSach.add(giaTri);
Phương thức này thêm phần tử đã chỉ định vào cuối danh sách.
2. Lấy phần tử tại vị trí chỉ định
danhSach.get(viTri);
Phương thức này trả về phần tử tại vị trí đã chỉ định trong danh sách.
3. Chuyển đổi HashSet thành ArrayList
return new ArrayList<>(tapHop);
ArrayList cung cấp một hàm tạo có thể nhận bất kỳ đối tượng nào đã triển khai giao diện Collection làm tham số. Vì HashSet triển khai giao diện Set, và Set lại là giao diện con của Collection.
4. Lấy số lượng phần tử của ArrayList
soLuong = danhSachSo.size();
LinkedList
1. Kiểm tra xem có rỗng không
danhSach.isEmpty()
Phương thức kế thừa từ lớp AbstractCollection.
2. Trả về phần tử cuối cùng của danh sách
danhSach.getLast()
Phương thức java.util.LinkedList.getLast() trả về phần tử cuối cùng trong danh sách này.
3. Thêm phần tử đã chỉ định vào cuối danh sách
danhSach.addLast("Phần tử");
Phương thức java.util.LinkedList.addLast(E e) chèn phần tử đã chỉ định vào cuối danh sách.
4. Xóa và trả về phần tử cuối cùng trong danh sách
danhSach.removeLast()
Set
HashSet
1. Khai báo
Set<Character> tapHop = new HashSet<>();
2. Kiểm tra xem tập hợp có chứa phần tử nào không
boolean coTonTai = tapHop.contains(giaTriHienTai);
3. Thêm phần tử
tapHopMoi.add("Đơn giản");
4. Xóa phần tử
tapHopMoi.remove("Dễ dàng");
5. Chuyển đổi ArrayList thành HashSet
Set tapHop = new HashSet<>(danhSachKetQua);
Hàm tạo của HashSet có thể nhận bất kỳ đối tượng nào đã triển khai giao diện Collection làm tham số, và ArrayList triển khai giao diện List, mà List lại là giao diện con của Collection.
Map
HashMap
1. Kiểm tra xem có chứa khóa không
if(bangBam.containsKey(khoa)) {}
Phương thức này trả về true nếu ánh xạ này chứa ánh xạ cho khóa đã chỉ định.
2. Trả về giá trị tương ứng với khóa
bangBam.get(khoa);
Phương thức này trả về giá trị được ánh xạ bởi khóa đã chỉ định, hoặc null nếu ánh xạ này không chứa ánh xạ cho khóa đó.
3. Xóa entry tương ứng với khóa
bangBam.remove(khoa);
Phương thức này xóa ánh xạ cho khóa đã chỉ định khỏi ánh xạ này (nếu có).
4. Thêm cặp khóa-giá trị
bangBam.put(khoa, node);
Random - Lấy giá trị ngẫu nhiên
// tạo đối tượng Random
Random ngauNhien = new Random();
ngauNhien.nextInt(n);
int chot = danhSach.get(ngauNhien.nextInt(danhSach.size()));
Phương thức trả về một giá trị int ngẫu nhiên, phân phối đều, nằm giữa 0 (bao gồm) và n (không bao gồm).
Sau đó chúng ta sử dụng ArrayList để lấy giá trị, đây là một cách viết khác.
PriorityQueue - Heap nhỏ nhất
1. Tạo hàng đợi ưu tiên
PriorityQueue<NhiemVu> hangDoi = new PriorityQueue<>(
(o1, o2) -> {
if (o1.doUuTien != o2.doUuTien) {
return Integer.compare(o1.doUuTien, o2.doUuTien);
} else {
return Integer.compare(o1.thuTu, o2.thuTu);
}
}
);
PriorityQueue của Java mặc định là heap nhỏ nhất, tức là: các phần tử nhỏ sẽ xếp trước, ra khỏi hàng đợi trước. Thứ tự của PriorityQueue không do chính nó kiểm soát mà hoàn toàn do Comparator bạn truyền vào!
1. Sắp xếp tăng dần (hàng đợi nhỏ nhất): phần tử nhỏ hơn ưu tiên
Queue<Integer> heapNho = new PriorityQueue<>((a, b) -> Integer.compare(a, b));
2. Sắp xếp giảm dần (hàng đợi lớn nhất): phần tử lớn hơn ưu tiên
Queue<Integer> heapLon = new PriorityQueue<>((a, b) -> Integer.compare(b, a));
2. Phương thức Integer.compare(a,b) để xác định thứ tự
public static int compare(int x, int y)
// So sánh hai giá trị int.
// Trả về:
// 0 nếu x == y
// giá trị âm nếu x < y
// giá trị dương nếu x > y
3. Thêm phần tử vào hàng đợi
hangDoi.offer(nhiemVu);
// hoặc
hangDoi.add(nhiemVu);
4. Lấy và xóa phần tử đầu hàng đợi
nhiemVuHienTai = hangDoi.poll();
5. Xem nhưng không xóa phần tử đầu hàng đợi
NhiemVu nhiemVuDau = hangDoi.peek();
Xử lý đầu vào/đầu ra
Trong Java, trim() là một phương thức của lớp String, được sử dụng để loại bỏ các ký tự trắng ở đầu và cuối chuỗi, bao gồm:
- Khoảng trắng (space) ' '
- Ký tự tab (tab) '\t'
- Ký tự xuống dòng (newline) '\n'
- Ký tự xuống dòng (carriage return) '\r'