• 招生咨詢(xún)熱線(xiàn):4008-569-579 
  • 手機(jī)版
    用手機(jī)掃描二維碼直達(dá)商品手機(jī)版
招生咨詢(xún)熱線(xiàn)
4008-569-579
機(jī)構(gòu)主頁(yè) > 機(jī)構(gòu)新聞 > Java如何對(duì)用戶(hù)名進(jìn)行比較排序
機(jī)構(gòu)主頁(yè) > 機(jī)構(gòu)新聞>Java如何對(duì)用戶(hù)名進(jìn)行比較排序

Java如何對(duì)用戶(hù)名進(jìn)行比較排序

來(lái)源:北京達(dá)內(nèi)教育        時(shí)間:2023-05-26        熱度:24℃        返回列表

【實(shí)例描述】

用戶(hù)名也就是登錄系統(tǒng)、網(wǎng)站等使用的名稱(chēng),也稱(chēng)為登錄名稱(chēng)。一般情況下,用戶(hù)名都要求使用英文、數(shù)字或符號(hào)組成,如lester_西樓聽(tīng)雨。這些用戶(hù)名一般是根據(jù)用戶(hù)注冊(cè)的先后來(lái)進(jìn)行排序的,這樣不利于管理員的查找,本實(shí)例將實(shí)現(xiàn)對(duì)用戶(hù)名字符串的排序。實(shí)例的運(yùn)行效果如圖4.17 所示。


【實(shí)現(xiàn)過(guò)程】

在Eclipse 中新建項(xiàng)目UserNameSort,并在其中創(chuàng)建一個(gè)UserNameSort.java 文件。在該類(lèi)的主方法中創(chuàng)建compareTo()方法對(duì)用戶(hù)名進(jìn)行比較排序,并將結(jié)果以字符串?dāng)?shù)組的順序進(jìn)行輸出。核心代碼如下所示:

class userName implements Comparable

{

public String sName;

public userName(String sName)

{

this.sName=sName;

}

public int compareTo(Object o) // 重寫(xiě)compareTo 方法

{

userName tempuser=(userName)o;

String temp=tempuser.sName;

return this.sName.compareTo(temp); // 按字符串sName 的順序排列

userName

}

public String toString()

{

return this.sName;

}

}

public class UserNameSort {

public static void main(String args[])

{

System.out.println("排序后的用戶(hù)名順序?yàn)椋?quot;);

TreeSet ts=new TreeSet(); // 插入userName 對(duì)象時(shí),會(huì)自動(dòng)調(diào)用compareTo 方法

ts.add(new userName("Lester"));

ts.add(new userName("Jimmy"));

ts.add(new userName("Lily"));

System.out.println(ts);

}

}

【代碼解析】

按字典順序比較兩個(gè)字符串(compareTo),該比較方法基于字符串中各個(gè)字符的Unicode值。按字典順序?qū)⒋薙tring 對(duì)象表示的字符序列與參數(shù)字符串所表示的字符序列進(jìn)行比較。具體比較方法如圖4.18 所示。

【知識(shí)擴(kuò)展】

字符串是否相等也是使用較頻繁的一組操作。字符串對(duì)象調(diào)用String 類(lèi)中的equals()方法,比較當(dāng)前字符串對(duì)象是否與參數(shù)指定的字符串相同。equalsIgnoreCase()方法與equals()方法的作用與用法基本相同,只是equalsIgnoreCase()方法在運(yùn)用時(shí)會(huì)忽略大小寫(xiě)。

電話(huà)咨詢(xún)

電話(huà)咨詢(xún)

咨詢(xún)電話(huà):
4008-569-579
回到頂部

回到頂部