Phương thức so sánh () trong Java là gì?
Phương thức so sánh () được sử dụng để thực hiện sắp xếp tự nhiên trên chuỗi. Sắp xếp tự nhiên có nghĩa là thứ tự sắp xếp áp dụng trên đối tượng, ví dụ: thứ tự từ vựng cho Chuỗi, thứ tự số để Sắp xếp số nguyên, v.v.
Thứ tự từ vựng không có gì ngoài thứ tự chữ cái. Các phương thức so sánh thực hiện so sánh tuần tự các chữ cái trong chuỗi có cùng vị trí.
so sánh được định nghĩa trong giao diện java.lang.Comparable
Cú pháp :
public int compareTo(String str)
Thông số đầu vào:
str - Phương thức này chỉ chấp nhận một kiểu dữ liệu Chuỗi đầu vào.
Phương thức trả về:
Phương thức Java này trả về một kiểu dữ liệu int dựa trên so sánh từ vựng giữa hai chuỗi.
- trả về <0 thì chuỗi gọi phương thức là từ vựng trước tiên
- trả về == 0 thì hai chuỗi tương đương về mặt từ vựng
- trả về> 0 thì tham số được truyền cho phương thức so sánh trước tiên là từ vựng.
Hãy hiểu với một ví dụ:
Ví dụ 1:
public class Sample_String {
public static void main (String [] args) {
String str_Sample = "a";
System.out.println ("So sánh với 'a' b là:" + str_Sample.compareTo ("b"));
str_Sample = "b";
System.out.println ("So sánh với 'b' a là:" + str_Sample.compareTo ("a"));
str_Sample = "b";
System.out.println ("So sánh với 'b' b là:" + str_Sample.compareTo ("b"));
}
}
Đầu ra
So sánh với 'a' b là: -1
So sánh với 'b' a là: 1
So sánh với 'b' b là: 0
Đây,
- Nhân vật a đến trước b theo bảng chữ cái. Do đó sản lượng là -1
- Ký tự b xuất hiện sau một bảng chữ cái. Do đó đầu ra là 1
- Ký tự b là tương đương, do đó đầu ra là 0.
Bạn có thể sử dụng phương pháp Sử dụng "soToIgnoreCase" trong trường hợp bạn không muốn kết quả phân biệt chữ hoa chữ thường.
Ví dụ 2:
public class Sample_String {
public static void main (String [] args) {
// So sánh với chuỗi
String str_Sample = "Rockstar";
System.out.println ("So sánh với 'ROCKSTAR':" + str_Sample.compareTo ("rockstar"));
// So sánh với - Bỏ qua trường hợp
System.out.println ("So sánh với 'ROCKSTAR' - Trường hợp bị bỏ qua:" + str_Sample.compareToIgnoreCase ("ROCKSTAR"));
}
}
Đầu ra
So sánh với 'ROCKSTAR': -32
So sánh với 'ROCKSTAR' - Trường hợp bị bỏ qua: 0
Khi nào nên sử dụng phương thức so sánh ()?
compareTo () được sử dụng để so sánh hai chuỗi từ vựng. Mỗi ký tự của cả hai chuỗi được chuyển đổi thành một giá trị Unicode. Tuy nhiên, nếu cả hai chuỗi bằng nhau, thì phương thức này trả về 0 nếu không nó chỉ mang lại giá trị âm hoặc dương.
Trong phương pháp này, nếu chuỗi thứ nhất luôn cao hơn về mặt từ vựng so với chuỗi thứ hai, nó sẽ trả về một số dương.
nếu a1> a2, nó trả về số âm
nếu a1 <a2, nó trả về số dương
nếu a1 == a2, nó trả về 0
Ví dụ 3:
public class Compare{
public static void main (String [] args) {
String s1 = "CodeLean1";
Chuỗi s2 = "CodeLean2";
System.out.println ("Chuỗi 1:" + s1);
System.out.println ("Chuỗi 2:" + s2);
// So sánh hai chuỗi.
int S = s1.compareTo (s2);
// Hiển thị kết quả so sánh.
if (S <0) {System.out.println ("\" "+ s1 +" \ "" + "cao hơn về mặt từ vựng so với" + "\" "+ s2 +" \ "");
} if if (S == 0) {
System.out.println ("\" "+ s1 +" \ "" + "là từ vựng bằng"
} khác nếu (S> 0) {
System.out.println ("\" "+ s1 +" \ "" + "là từ vựng nhỏ hơn" + "\" "+ s2 +" \ "");
}
}
}
Đầu ra:
Chuỗi 1: CodeLean1
Chuỗi 2: CodeLean2
"CodeLean1" cao hơn về mặt từ vựng so với "CodeLean2"
إرسال تعليق