摘要:是集合工具類,用來對集合進行操作。部分方法如下,將集合中元素按照指定規則排序。
package com.itheima.demo05.Collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
/*
- java.utils.Collections是集合工具類,用來對集合進行操作。部分方法如下: public staticvoid sort(List list,Comparator super T> ):將集合中元素按照指定規則排序。 Comparator和Comparable的區別 Comparable:自己(this)和別人(參數)比較,自己需要實現Comparable接口,重寫比較的規則compareTo方法 Comparator:相當于找一個第三方的裁判,比較兩個 Comparator的排序規則: o1-o2:升序
*/
public class Demo03Sort {
public static void main(String[] args) { ArrayListlist01 = new ArrayList<>(); list01.add(1); list01.add(3); list01.add(2); System.out.println(list01);//[1, 3, 2] Collections.sort(list01, new Comparator () { //重寫比較的規則 @Override public int compare(Integer o1, Integer o2) { //return o1-o2;//升序 return o2-o1;//降序 } }); System.out.println(list01); ArrayList list02 = new ArrayList<>(); list02.add(new Student("a迪麗熱巴",18)); list02.add(new Student("古力娜扎",20)); list02.add(new Student("楊冪",17)); list02.add(new Student("b楊冪",18)); System.out.println(list02); /*Collections.sort(list02, new Comparator () { @Override public int compare(Student o1, Student o2) { //按照年齡升序排序 return o1.getAge()-o2.getAge(); } });*/ //擴展:了解 Collections.sort(list02, new Comparator () { @Override public int compare(Student o1, Student o2) { //按照年齡升序排序 int result = o1.getAge()-o2.getAge(); //如果兩個人年齡相同,再使用姓名的第一個字比較 if(result==0){ result = o1.getName().charAt(0)-o2.getName().charAt(0); } return result; } }); System.out.println(list02); }
}
package com.itheima.demo05.Collections;
public class Student {
private String name; private int age; public Student() { } public Student(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Student{" + "name="" + name + """ + ", age=" + age + "}"; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }
}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75163.html
摘要:容器相關的操作及其源碼分析說明本文是基于分析的。有哪些抽取出來的工具類。即對于反轉方式如下替換值查找在出現的最小位置。查找在出現的最大位置。即返回的和原在元素上保持一致,但不可修改。 容器相關的操作及其源碼分析 說明 1、本文是基于JDK 7 分析的。JDK 8 待我工作了得好好研究下。Lambda、Stream。 2、因為個人能力有限,只能以模仿的形式+自己的理解寫筆記。如有不對的...
摘要:是集合工具類,用來對集合進行操作。部分方法如下將集合中元素按照默認規則排序。注意使用前提被排序的集合里邊存儲的元素必須實現重寫接口中的方法定義排序的規則接口的排序規則自己參數升序將集合中元素按照默認規則排序。 package com.itheima.demo05.Collections; import java.util.ArrayList;import java.util.Colle...
摘要:排序的算法是歸并排序。舉個例子,的算法可以不是使用歸并排序,但是該算法一定要是穩定的。這個類是的一部分。官方這個類只包含操作或返回集合的靜態方法。具體來說是,第一步,先把集合轉換為數組,第二步,調用。和沒有什么區別,只是傳參有點不同。 Arrays 1.作用看類的名字,就知道是對數組(數據類型[])進行各種操作。例如,排序、查找、復制等。 排序的算法是歸并排序。查找的算法是二分查找。復...
摘要:另外,還可以調用和等很便利的方法,以返回表示字段,方法,以及構造器的對象的數組。運行結果無參構造器有參構造器和實現原理和區別和區別是一個集合接口。 對象的四種引用 強引用只要引用存在,垃圾回收器永遠不會回收 showImg(https://segmentfault.com/img/bVbsYsz?w=652&h=52); 可直接通過obj取得對應的對象 如 obj.equels(new...
摘要:提供了一個操作和等集合的工具類,該工具類提供了大量方法對集合進行排序查詢和修改等操作,還提供了將集合對象置為不可變對集合對象實現同步控制等方法排序操作反轉指定集合中元素的順序對集合元素進行隨機排序方法模擬了洗牌動作根據元素的自然順序對指定集 Java提供了一個操作Set、List和Map等集合的工具類:Collections,該工具類提供了大量方法對集合進行排序、查詢和修改等操作,還提...
閱讀 2545·2023-04-26 01:44
閱讀 2558·2021-09-10 10:50
閱讀 1411·2019-08-30 15:56
閱讀 2250·2019-08-30 15:44
閱讀 512·2019-08-29 11:14
閱讀 3417·2019-08-26 11:56
閱讀 3018·2019-08-26 11:52
閱讀 909·2019-08-26 10:27