【List集合排序】

在這里插入圖片描述

List集合排序Demo

import com.google.common.collect.Lists;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;import java.util.*;/*** list order demo*/
public class ListOrderDemo {public static void main(String[] args) {List<String> list = Lists.newArrayList("1","3","2");// convert to arrayString[] array = list.toArray(new String[]{});// [1, 3, 2]System.out.println(Arrays.toString(array));/** order asc **/// [1, 2, 3]list.sort(String::compareTo);System.out.println(list);// [1, 2, 3]list.sort((o1, o2) -> o1.compareTo(o2));System.out.println(list);// [1, 2, 3]list.sort(new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {return o1.compareTo(o2);}});System.out.println(list);/** order desc **/// [3, 2, 1]list.sort(Comparator.reverseOrder());System.out.println(list);// [3, 2, 1]list.sort((o1, o2) -> o2.compareTo(o1));System.out.println(list);// [3, 2, 1]list.sort(new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {return o2.compareTo(o1);}});System.out.println(list);// implements comparableList<Order> orders = new ArrayList<>();orders.add(new Order("4", 1));orders.add(new Order("3", 2));orders.add(new Order("2", 2));orders.add(new Order("1", 3));// [{"age: "1, "name:"4}, {"age: "2, "name:"2}, {"age: "2, "name:"3}, {"age: "3, "name:"1}]orders.sort(Order::compareTo);System.out.println(orders);// [{"age: "1, "name:"4}, {"age: "2, "name:"2}, {"age: "2, "name:"3}, {"age: "3, "name:"1}]orders.sort((o1, o2) -> o1.compareTo(o2));System.out.println(orders);// [{"age: "1, "name:"4}, {"age: "2, "name:"2}, {"age: "2, "name:"3}, {"age: "3, "name:"1}]Collections.sort(orders);System.out.println(orders);}@NoArgsConstructor@AllArgsConstructorpublic static class Order implements Comparable<Order> {private String name;private Integer age;@Overridepublic int compareTo(Order o) {if (Objects.equals(this.age, o.age)) {return this.name.compareTo(o.name);}return this.age.compareTo(o.age);}@Overridepublic String toString() {return "{\"age: \"" + this.age + ", \"name:\"" + this.name + "}";}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37072.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37072.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37072.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

以太網幀格式是如何識別有效負載類型的

注&#xff1a;機翻&#xff0c;未校對。 識別以太網幀有效負載 Identifying Ethernet Frame Payloads Ethernet frames contain payload data encapsulated within header and trailer fields used to deliver packets over Layer 2 networks. This article provides an ov…

套接字通信類的封裝

在掌握了基于TCP的套接字通信流程之后&#xff0c;為了方便使用&#xff0c;提高編碼效率&#xff0c;可以對通信操作進行封裝&#xff0c;本著有淺入深的原則&#xff0c;先基于C語言進行面向過程的函數封裝&#xff0c;然后再基于C進行面向對象的類封裝。 1. 基于C語言的封裝…

Linux基礎篇——學習Linux基本工具安裝教程視頻鏈接

本篇文章就是記錄一下學習Linux需要用到的基本工具的視頻教程鏈接&#xff0c;方便以后查看 VMware15.5安裝 安裝視頻教程&#xff1a;VMware15.5安裝教程 centos7.6安裝&#xff08;這個視頻教程真的很nice&#xff09; 視頻教程&#xff1a;centos7.6 虛擬機克隆、快照、…

ansible 模塊擴展

uri模塊 在Ansible中&#xff0c;uri模塊是一個用于發送HTTP、HTTPS、FTP等請求的模塊&#xff0c;可以用于獲取網頁內容、下載文件、上傳文件等。本質上&#xff0c;它是一個HTTP客戶端模塊。 使用uri模塊&#xff0c;需要指定一些參數來定義HTTP請求。下面是一些uri模塊的常…

學習平臺推薦_菜鳥教程官網

網址&#xff1a; 菜鳥教程 - 學的不僅是技術&#xff0c;更是夢想&#xff01;菜鳥教程(www.runoob.com)提供了編程的基礎技術教程, 介紹了HTML、CSS、Javascript、Python&#xff0c;Java&#xff0c;Ruby&#xff0c;C&#xff0c;PHP , MySQL等各種編程語言的基礎知識。 同…

Nginx-2

一、高級配置 1.1網頁狀態頁 基于nginx 模塊 ngx_http_stub_status_module 實現&#xff0c;在編譯安裝nginx的時候需要添加編譯參數 --with-http_stub_status_module&#xff0c;否則配置完成之后監測會是提示語法錯誤注意: 狀態頁顯示的是整個服務器的狀態,而非虛擬主機的狀…

opencv實現surface_matching記錄

1 說明 使用的cv版本為4.7.0 , surface_matching功能是附加在contrib中的,并未直接包含在opencv 4.7.0中,因此編譯的時候需要考慮contrib。 VS版本為2022, CMake版本為3.30-rc4. 2 編譯opencv(含contrib) 參見: Win10 下編譯 OpenCV 4.7.0詳細全過程,包含xfeatures2…

Open3D (C++) 點云邊界提取

邊界提取 一、算法原理1、詳細流程2、主要函數3、參考文獻二、代碼實現三、結果展示四、注意事項本文由CSDN點云俠原創,原文鏈接。如果你不是在點云俠的博客中看到該文章,那么此處便是不要臉的爬蟲。 一、算法原理 1、詳細流程 該算法完全復刻自PCL。 2、主要函數 /// \…

算法入門(上)

什么是算法&#xff1f; 算法&#xff08;Algorithm&#xff09;是解決特定問題求解步驟的描述&#xff0c;在計算機中表現為指令的有限序列&#xff0c;并且每條指令表示一個或多個操作。 給定一個問題&#xff0c;能夠解決這個問題的算法是有很多種的。算式中的問題是千奇百怪…

C++為什么將 0.1f 更改為 0 性能會降低 10 倍

一、浮點數與整數的表示差異 在計算機內部&#xff0c;浮點數和整數的表示方式截然不同。浮點數遵循IEEE 754標準&#xff0c;通過符號位、指數位和尾數位來存儲和表示數值&#xff0c;而整數則是直接的二進制表示。這種表示上的差異導致了它們在內存占用、處理速度以及精度上…

Debian/Ubuntu Linux安裝OBS

先決條件 建議使用 xserver-xorg 1.18.4 或更新版本&#xff0c;以避免 OBS 中某些功能&#xff08;例如全屏投影儀&#xff09;出現潛在的性能問題。在 Linux 上使用 OBS Studio 需要 OpenGL 3.3&#xff08;或更高版本&#xff09;支持。在終端中輸入以下內容來檢查系統支持…

Halcon測量助手

模糊測量:基于模糊邏輯 模糊邏輯&#xff1a;模仿人腦的不確定性概念判斷、推理思維方式&#xff0c;對于模型未知或不能確定的描述系統&#xff0c;以及強非線性、大滯后的控制對象&#xff0c;應用模糊集合和模糊規則進行推理&#xff0c;表達過渡性界限或定性知識經驗&…

MySQL基礎進階:編寫復雜查詢

編寫復雜查詢 1. 子查詢2. IN運算符3. 子查詢VS連接4. ALL關鍵字5. ANY關鍵字6. 相關子查詢7. EXISTS運算符8. SELECT子句中得子查詢9. FROM子句中得子查詢 1. 子查詢 子查詢&#xff1a; 任何一個充當另一個SQL語句的一部分的 SELECT 查詢語句都是子查詢&#xff0c;子查詢是…

GMSB文章八:微生物中介分析

歡迎大家關注全網生信學習者系列&#xff1a; WX公zhong號&#xff1a;生信學習者Xiao hong書&#xff1a;生信學習者知hu&#xff1a;生信學習者CDSN&#xff1a;生信學習者2 介紹 中介分析&#xff08;Mediation Analysis&#xff09;是一種統計方法&#xff0c;用于研究一…

C# Benchmark

創建控制臺項目&#xff08;或修改現有項目的Main方法代碼&#xff09;&#xff0c;Nget導入Benchmark0.13.12&#xff0c;創建測試類&#xff1a; public class StringBenchMark{int[] numbers;public StringBenchMark() {numbers Enumerable.Range(1, 20000).ToArray();}[Be…

大語言模型(LLMs)全面學習指南,初學者入門,一看就懂!

大語言模型&#xff08;LLMs&#xff09;作為人工智能&#xff08;AI&#xff09;領域的一項突破性發展&#xff0c;已經改變了自然語言處理&#xff08;NLP&#xff09;和機器學習&#xff08;ML&#xff09;應用的面貌。這些模型&#xff0c;包括OpenAI的GPT-4o和Google的gem…

楊冪跨界學術圈:內容營銷專家劉鑫煒帶你了解核心期刊的學術奧秘

近日&#xff0c;知名藝人楊冪在權威期刊《中國廣播電視學刊》上發表了一篇名為《淺談影視劇中演員創作習慣——以電視劇<哈爾濱一九四四>為例》的學術論文&#xff0c;此舉在學術界和娛樂圈均引起了廣泛關注。該期刊不僅享有極高的聲譽&#xff0c;還同時被北大中文核心…

數據庫-數據完整性-用戶自定義完整性實驗

NULL/NOT NULL 約束&#xff1a; 在每個字段后面可以加上 NULL 修飾符來指定該字段是否可以為空&#xff1b;或者加上 NOT NULL 修飾符來指定該字段必須填上數據。 DEFAULT約束說明 DEFAULT 約束用于向列中插入默認值。如果列中沒有規定其他的值&#xff0c;那么會將默認值添加…

發;flask的基本使用2

上一篇我們介紹了基本使用方法 flask使用 【 1 】基本使用 from flask import Flask# 1 實例化得到對象 app Flask(__name__)# 2 注冊路由--》寫視圖函數 app.route(/) def index():# 3 返回給前端字符串return hello worldif __name__ __main__:# 運行app&#xff0c;默認…

Conformal Prediction

1 A Gentle Introduction to Conformal Prediction and Distribution-Free Uncertainty Quantification 2 Language Models with Conformal Factuality Guarantees