2022-10-20

  • 泛型使用場(chǎng)景:
    我們可以寫一個(gè)泛型方法來對(duì)一個(gè)對(duì)象數(shù)組排序屠橄。然后栈妆,調(diào)用該泛型方法來對(duì)整型數(shù)組扛吞、浮點(diǎn)數(shù)數(shù)組初肉、字符串?dāng)?shù)組等進(jìn)行排序酷鸦。
  • java 中泛型標(biāo)記符:

E - Element (在集合中使用,因?yàn)榧现写娣诺氖窃?
T - Type(Java 類)
K - Key(鍵)
V - Value(值)
N - Number(數(shù)值類型)
? - 表示不確定的 java 類型

  • 所有泛型方法聲明都有一個(gè)類型參數(shù)聲明部分(由尖括號(hào)分隔)臼隔,該類型參數(shù)聲明部分在方法返回類型之前
   // 泛型方法 printArray                         
   public static < E > void printArray( E[] inputArray )
   {
      // 輸出數(shù)組元素            
         for ( E element : inputArray ){        
            System.out.printf( "%s ", element );
         }
         System.out.println();
    }
  • 泛型類
    泛型類的聲明和非泛型類的聲明類似嘹裂,除了在類名后面添加了類型參數(shù)聲明部分。
public class Box<T> {
   
  private T t;
 
  public void add(T t) {
    this.t = t;
  }
 
  public T get() {
    return t;
  }
}
Box<Integer> integerBox = new Box<Integer>();
  • 類型通配符一般是使用 ? 代替具體的類型參數(shù)摔握。
 public static void getData(List<?> data) {
      System.out.println("data :" + data.get(0));
   }
  • java中Comparable<T>與Comparator<T>的使用與區(qū)別
    1.兩者聲明的方法不同寄狼。前者是compareTo()方法,后者是compare()方法氨淌。
    2.Comparable<T>是內(nèi)部比較器泊愧,比較屬性,靜態(tài)綁定盛正,指出此類有什么樣的排序方法删咱;而Comparator<T>是外部比較器,比較器豪筝,動(dòng)態(tài)綁定痰滋。
    3.如果一個(gè)類具有可比較的屬性的話,并且想對(duì)該類的對(duì)象進(jìn)行排序续崖,最好是實(shí)現(xiàn)Comparable<T>接口敲街。如果某個(gè)類已經(jīng)定義好了,不想再修改袜刷,并且又想自定義規(guī)則對(duì)該類的對(duì)象進(jìn)行排序聪富,可以創(chuàng)建一個(gè)比較器進(jìn)行排序。
public class Apple implements Comparable<Apple> {
    /**
     * 蘋果的重量
     */
    private int  weight;
    /**
     * 自然排序即從小到大
     * 返回1的著蟹,代表此對(duì)象比參數(shù)對(duì)象大墩蔓,排在后面,這樣就可以控制降序或升序排列
     */
    @Override
    public int compareTo(Apple apple) {
        if (this.weight > apple.getWeight())
        {
            return -1;
        }
        else if (this.weight < apple.getWeight())
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }}
  • Java Arrays.Sort方法重寫
//template
Arrays.sort(T[], new Comparator<T>() {
    public int compare(T a, T b){
        return b - a;//從大到小排序
    }
})
 Arrays.sort(h, new Comparator<String>() {
            @Override
            public int compare(String a, String b) {
                if(a.charAt(0)!=b.charAt(0)){
                    return b.charAt(0)-a.charAt(0);
                }
                String l1=a+b;
                String l2=b+a;
                return l2.compareTo(l1);
            }
        });
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末萧豆,一起剝皮案震驚了整個(gè)濱河市奸披,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌涮雷,老刑警劉巖阵面,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異洪鸭,居然都是意外死亡样刷,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門览爵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來置鼻,“玉大人,你說我怎么就攤上這事蜓竹』福” “怎么了储藐?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)嘶是。 經(jīng)常有香客問我钙勃,道長(zhǎng),這世上最難降的妖魔是什么聂喇? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任辖源,我火速辦了婚禮,結(jié)果婚禮上授帕,老公的妹妹穿的比我還像新娘同木。我一直安慰自己,他們只是感情好跛十,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著秕硝,像睡著了一般芥映。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上远豺,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天奈偏,我揣著相機(jī)與錄音,去河邊找鬼躯护。 笑死惊来,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的棺滞。 我是一名探鬼主播裁蚁,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼继准!你這毒婦竟也來了枉证?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤移必,失蹤者是張志新(化名)和其女友劉穎室谚,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體崔泵,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡秒赤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了憎瘸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片入篮。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖含思,靈堂內(nèi)的尸體忽然破棺而出崎弃,到底是詐尸還是另有隱情甘晤,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布饲做,位于F島的核電站线婚,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏盆均。R本人自食惡果不足惜塞弊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望泪姨。 院中可真熱鬧游沿,春花似錦、人聲如沸肮砾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仗处。三九已至眯勾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間婆誓,已是汗流浹背吃环。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留洋幻,地道東北人郁轻。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像文留,于是被迫代替她去往敵國(guó)和親好唯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容