电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

詳解Java sort()數組排序(升序和降序)

瀏覽:6日期:2022-08-18 08:36:05

我們在學習 Java 的過程中肯定會遇到對數組進行升序或降序等排序問題,本節主要介紹如何實現 Java 數組的升序和降序。Java 語言使用 Arrays 類提供的 sort() 方法來對數組進行排序。

升序

使用 java.util.Arrays 類中的 sort() 方法對數組進行升序分為以下兩步:

導入 java.util.Arrays 包。 使用 Arrays.sort(數組名) 語法對數組進行排序,排序規則是從小到大,即升序。

假設在數組 scores 中存放了 5 名學生的成績,現在要實現從低到高排列的功能。在這里使用 Arrays.sort() 方法來實現,具體代碼如下:

public static void main(String[] args) { // 定義含有5個元素的數組 double[] scores = new double[] { 78, 45, 85, 97, 87 }; System.out.println('排序前數組內容如下:'); // 對scores數組進行循環遍歷 for (int i = 0; i < scores.length; i++) { System.out.print(scores[i] + 't'); } System.out.println('n排序后的數組內容如下:'); // 對數組進行排序 Arrays.sort(scores); // 遍歷排序后的數組 for (int j = 0; j < scores.length; j++) { System.out.print(scores[j] + 't'); }}

如上述代碼所示,要對一個數組進行升序排列,只需要調用 Arrays.sort() 方法即可。運行后的輸出結果如下所示。

排序前數組內容如下:78.0 45.0 85.0 97.0 87.0 排序后的數組內容如下:45.0 78.0 85.0 87.0 97.0

降序

在 Java 語言中使用 sort 實現降序有兩種方法,簡單了解即可。

1)利用 Collections.reverseOrder() 方法(Collections 是一個包裝類。大家可以學習《Java Collections類》一節詳細了解):

public static void main(String[] args) { Integer[] a = { 9, 8, 7, 2, 3, 4, 1, 0, 6, 5 }; // 數組類型為Integer Arrays.sort(a, Collections.reverseOrder()); for (int arr : a) { System.out.print(arr + ' '); }}

輸出結果如下:9 8 7 6 5 4 3 2 1 0

2)實現 Comparator 接口的復寫 compare() 方法,代碼如下:

public class Test { public static void main(String[] args) { /* * 注意,要想改變默認的排列順序,不能使用基本類型(int,double,char)而要使用它們對應的類 */ Integer[] a = { 9, 8, 7, 2, 3, 4, 1, 0, 6, 5 }; // 定義一個自定義類MyComparator的對象 Comparator cmp = new MyComparator(); Arrays.sort(a, cmp); for (int arr : a) { System.out.print(arr + ' '); } }}// 實現Comparator接口class MyComparator implements Comparator<Integer> { @Override public int compare(Integer o1, Integer o2) { /* * 如果o1小于o2,我們就返回正值,如果o1大于o2我們就返回負值, 這樣顛倒一下,就可以實現降序排序了,反之即可自定義升序排序了 */ return o2 - o1; }}

輸出結果如下所示。9 8 7 6 5 4 3 2 1 0

注意:使用以上兩種方法時,數組必須是包裝類型,否則會編譯不通過。

在 Java 中實現數組排序的方式很多,除了利用以上的幾種方法外,還可以編寫自定義方法來實現自己的排序算法,有興趣的讀者可以嘗試編寫。

Java排序方法sort的使用詳解

對數組的排序:

//對數組排序public void arraySort(){ int[] arr = {1,4,6,333,8,2}; Arrays.sort(arr);//使用java.util.Arrays對象的sort方法 for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); }}

對集合的排序:

//對list升序排序 public void listSort1(){ List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(55); list.add(9); list.add(0); list.add(2); Collections.sort(list);//使用Collections的sort方法 for(int a :list){ System.out.println(a); } } //對list降序排序 public void listSort2(){ List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(55); list.add(9); list.add(0); list.add(2); Collections.sort(list, new Comparator<Integer>() { public int compare(Integer o1, Integer o2) {return o2 - o1; } });//使用Collections的sort方法,并且重寫compare方法 for(int a :list){ System.out.println(a); } }

到此這篇關于詳解Java sort()數組排序(升序和降序)的文章就介紹到這了,更多相關Java sort()數組排序內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 手板_手板模型制作_cnc手板加工厂-东莞天泓 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 粘弹体防腐胶带,聚丙烯防腐胶带-全民塑胶 | 杭州实验室尾气处理_实验台_实验室家具_杭州秋叶实验设备有限公司 | 神马影院-实时更新秒播| 黄石东方妇产医院_黄石妇科医院哪家好_黄石无痛人流医院 | 台式低速离心机-脱泡离心机-菌种摇床-常州市万丰仪器制造有限公司 | 螺钉式热电偶_便携式温度传感器_压簧式热电偶|无锡联泰仪表有限公司|首页 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 胶辊硫化罐_胶鞋硫化罐_硫化罐厂家-山东鑫泰鑫智能装备有限公司 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | ?水马注水围挡_塑料注水围挡_防撞桶-常州瑞轩水马注水围挡有限公司 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 土壤养分检测仪_肥料养分检测仪_土壤水分检测仪-山东莱恩德仪器 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | 合肥网络推广_合肥SEO网站优化-安徽沃龙First | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 壹作文_中小学生优秀满分作文大全 | 纳米涂料品牌 防雾抗污纳米陶瓷涂料厂家_虹瓷科技 | 达利园物流科技集团-| 披萨石_披萨盘_电器家电隔热绵加工定制_佛山市南海区西樵南方综合保温材料厂 | 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 礼仪庆典公司,礼仪策划公司,庆典公司,演出公司,演艺公司,年会酒会,生日寿宴,动工仪式,开工仪式,奠基典礼,商务会议,竣工落成,乔迁揭牌,签约启动-东莞市开门红文化传媒有限公司 | 即用型透析袋,透析袋夹子,药敏纸片,L型涂布棒-上海桥星贸易有限公司 | 硅胶管挤出机厂家_硅胶挤出机生产线_硅胶条挤出机_臣泽智能装备 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 方源木业官网-四川木门-全国木门专业品牌 | 代做标书-代写标书-专业标书文件编辑-「深圳卓越创兴公司」 | b2b网站大全,b2b网站排名,找b2b网站就上地球网 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 磁粉制动器|张力控制器|气胀轴|伺服纠偏控制器整套厂家--台灵机电官网 | 科客,主见不成见| 电动高压冲洗车_价格-江苏速利达机车有限公司 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 上海防爆真空干燥箱-上海防爆冷库-上海防爆冷柜?-上海浦下防爆设备厂家? | 雷冲击高压发生器-水内冷直流高压发生器-串联谐振分压器-武汉特高压电力科技有限公司 | 喷砂机厂家_自动除锈抛丸机价格-成都泰盛吉自动化喷砂设备 | 农业四情_农业气象站_田间小型气象站_智慧农业气象站-山东风途物联网 | 发光字|标识设计|标牌制作|精神堡垒 - 江苏苏通广告有限公司 | 隧道风机_DWEX边墙风机_SDS射流风机-绍兴市上虞科瑞风机有限公司 |