亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Java基礎之Comparable與Comparator概述

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

Java基礎之Comparable與Comparator概述

對于自定義類進行排序要實現(xiàn)Comparable接口,重寫compareTo() 方法,如果不重寫,像使用Arrays.sort()排序就會報錯

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){ //判斷傳遞參數是否屬于商品 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('傳入數據類型不一致'); }}定制排序Comparator

使用場景:當類沒有實現(xiàn)Comparable接口或者實現(xiàn)了Comparable接口,但不符合我期望的排序規(guī)則時進行使用

@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('數據類型不一致'); }});System.out.println(Arrays.toString(arr)); }

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

標簽: Java
相關文章:
主站蜘蛛池模板: 日韩毛片免费视频一级特黄 | 欧美亚洲精品一区二三 | 又爽又黄又无遮挡的激情视频免费 | 特黄日韩免费一区二区三区 | 欧美一级毛片视频 | 黑人狂躁日本妞中文字幕 | 欧美日韩在线一本卡 | 精品视频一区二区观看 | 国产一区二区在线视频 | 综合图片亚洲 | 免费超级淫片日本高清视频 | 最新国产成人盗摄精品视频 | 在线视频91 | 一级黄色激情片 | 亚洲最大的黄色网址 | 免费黄色三级 | 亚洲国产一区二区在线 | 最全精品自拍视频在线 | 青青综合网 | 国产精品亚洲二区在线 | 视频在线观看国产 | 夜鲁鲁鲁夜夜综合视频欧美 | 久久青草免费97线频观 | 国产日产欧美a级毛片 | 曰批免费动漫视频播放免费 | 久操影视 | 伊人网影院 | 久久午夜青青草原影院 | 国产日韩欧美一区二区三区综合 | 国产免费福利视频一区二区 | 免费a级特黄国产大片 | 在线婷婷| 男女爱爱免费网站视频在线观看 | 国产激烈无遮挡免费床戏视频 | 网站视频大片www | 国产精品大尺度尺度视频 | 国产一区二区三区四区偷看 | 麻豆自拍 | 国产2021成人精品 | 美女zw喷水视频在线观看 | 中文字幕一区二区三区精彩视频 |