国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

Java基礎之Comparable與Comparator概述

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

Java基礎之Comparable與Comparator概述

對于自定義類進行排序要實現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

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

@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內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 久久久久国产 | 国产欧美一区二区久久 | 亚洲综合日本 | 欧美特黄一区二区三区 | 特级做人爱c级特级aav毛片 | 国产成人精品久久一区二区三区 | 久久综合一本 | 成年大片免费视频播放手机不卡 | 亚洲加勒比久久88色综合 | 在线观看a网站 | 91精品综合| 成人做爰www | 99九九精品免费视频观看 | 国产一级爱做片免费观看 | 日本www色视频成人免费网站 | 国产色啪午夜免费视频 | 中文字幕在线免费观看 | 国产成人一区二区三区在线视频 | 在线看片a | 黄色三级网络 | 成人毛片免费观看视频 | 91精品国产色综合久久 | 日韩性网站 | 久久久久国产一级毛片高清片 | 国产在亚洲线视频观看 | 悟空影视大全免费高清 | 成年人视频在线免费播放 | 国产精品国产三级国产在线观看 | 亚洲欧洲日韩综合色天使不卡 | 亚洲精品国产精品国自产观看 | 波多野结衣aⅴ在线 | 老鸭窝 国产 精品 91 | 欧美5g影院天天爽天天看 | 成人精品视频一区二区三区 | 亚洲欧美日韩综合在线一区二区三区 | 特级一级毛片免费看 | 美女视频永久黄网站在线观看 | 免费一级特黄 | 男人在线网址 | 分享一个无毒不卡免费国产 | 99久久国产免费 - 99久久国产免费 |