av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java基礎(chǔ)之Comparable與Comparator概述

瀏覽:92日期:2022-08-13 15:45:33
自然排序Comparable

Java基礎(chǔ)之Comparable與Comparator概述

對(duì)于自定義類進(jìn)行排序要實(shí)現(xiàn)Comparable接口,重寫(xiě)compareTo() 方法,如果不重寫(xiě),像使用Arrays.sort()排序就會(huì)報(bào)錯(cuò)

package com.che.lambda;import java.util.Objects;/** * @author cheyuhang on 2021/4/23 */public class Good implements Comparable{ private String name; private Double price; public Good(String name, Double price) {this.name = name;this.price = price; } public Good() { } public String getName() {return name; } public void setName(String name) {this.name = name; } public Double getPrice() {return price; } public void setPrice(Double price) {this.price = price; } @Override public boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Good good = (Good) o;return Objects.equals(name, good.name) && Objects.equals(price, good.price); } @Override public int hashCode() {return Objects.hash(name, price); } @Override public String toString() {return 'Good{' +'name=’' + name + ’’’ +', price=' + price +’}’; } @Override public int compareTo(Object o) {if (o instanceof Good){ //判斷傳遞參數(shù)是否屬于商品 Good good=(Good) o; if(this.price >good.price){return 1; }else if(this.price <good.price) {return -1; }else {return 0; }}throw new RuntimeException('傳入數(shù)據(jù)類型不一致'); }}定制排序Comparator

使用場(chǎng)景:當(dāng)類沒(méi)有實(shí)現(xiàn)Comparable接口或者實(shí)現(xiàn)了Comparable接口,但不符合我期望的排序規(guī)則時(shí)進(jìn)行使用

@Test public void test02() {Good[] arr=new Good[5];arr[0] =new Good('zhangsan',234.0);arr[1] =new Good('lisi',2343.0);arr[2] =new Good('wangwu',2354.0);arr[3] =new Good('zhaoliu',2334.0);arr[4] =new Good('tianqi',2347.0);System.out.println(Arrays.toString(arr));Arrays.sort(arr, new Comparator<Object>() @Override public int compare(Object o1, Object o2) {if (o1 instanceof Good && o2 instanceof Good){ Good g1=(Good) o1; Good g2=(Good) o2; return Double.compare(g1.getPrice(),g2.getPrice()); //return g1.compareTo(g2);}throw new RuntimeException('數(shù)據(jù)類型不一致'); }});System.out.println(Arrays.toString(arr)); }

到此這篇關(guān)于Java基礎(chǔ)之Comparable與Comparator詳解的文章就介紹到這了,更多相關(guān)Java Comparable與Comparator內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 欧美色偷拍| 久久久精选 | 色性av| 国产精品第2页 | 7777在线| 最新中文字幕在线 | 成人a免费| 成人黄页在线观看 | 日韩久久久一区二区 | 日本久草 | 亚洲一区二区中文字幕在线观看 | 亚洲国产精品一区在线观看 | 九九热精品视频 | 免费能直接在线观看黄的视频 | www.色.com| 精品视频成人 | 精品一二区 | 欧美一区二区二区 | 97久久精品午夜一区二区 | 成人免费视频网站在线看 | 观看av| 亚洲在线一区二区三区 | 97高清国语自产拍 | 欧美综合一区二区三区 | 涩爱av一区二区三区 | 免费簧片视频 | 欧美精品一二区 | 午夜羞羞| 国产一区 在线视频 | 日韩电影一区 | 欧美亚洲视频 | 国产精品久久久久久婷婷天堂 | 天天搞天天操 | 天堂一区二区三区四区 | 成人国产在线观看 | 台湾佬成人网 | 日本视频免费观看 | 午夜婷婷激情 | 一区二区精品视频 | 国产精品久久久久久模特 | 狠狠色网|