摘要:是集合工具類(lèi),用來(lái)對(duì)集合進(jìn)行操作。部分方法如下將集合中元素按照默認(rèn)規(guī)則排序。注意使用前提被排序的集合里邊存儲(chǔ)的元素必須實(shí)現(xiàn)重寫(xiě)接口中的方法定義排序的規(guī)則接口的排序規(guī)則自己參數(shù)升序?qū)⒓现性匕凑漳J(rèn)規(guī)則排序。
package com.itheima.demo05.Collections;
import java.util.ArrayList;
import java.util.Collections;
/*
- java.utils.Collections是集合工具類(lèi),用來(lái)對(duì)集合進(jìn)行操作。部分方法如下: public staticvoid sort(List list):將集合中元素按照默認(rèn)規(guī)則排序。 注意: sort(List list)使用前提 被排序的集合里邊存儲(chǔ)的元素,必須實(shí)現(xiàn)Comparable,重寫(xiě)接口中的方法compareTo定義排序的規(guī)則 Comparable接口的排序規(guī)則: 自己(this)-參數(shù):升序
*/
public class Demo02Sort {
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] //public static void sort(List list):將集合中元素按照默認(rèn)規(guī)則排序。 Collections.sort(list01);//默認(rèn)是升序 System.out.println(list01);//[1, 2, 3] ArrayList list02 = new ArrayList<>(); list02.add("a"); list02.add("c"); list02.add("b"); System.out.println(list02);//[a, c, b] Collections.sort(list02); System.out.println(list02);//[a, b, c] ArrayList list03 = new ArrayList<>(); list03.add(new Person("張三",18)); list03.add(new Person("李四",20)); list03.add(new Person("王五",15)); System.out.println(list03);//[Person{name="張三", age=18}, Person{name="李四", age=20}, Person{name="王五", age=15}] Collections.sort(list03); System.out.println(list03); }
}
package com.itheima.demo05.Collections;
public class Person implements Comparable
private String name; private int age; public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Person{" + "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; } //重寫(xiě)排序的規(guī)則 @Override public int compareTo(Person o) { //return 0;//認(rèn)為元素都是相同的 //自定義比較的規(guī)則,比較兩個(gè)人的年齡(this,參數(shù)Person) //return this.getAge() - o.getAge();//年齡升序排序 return o.getAge() - this.getAge();//年齡升序排序 }
}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/75164.html
摘要:排序的算法是歸并排序。舉個(gè)例子,的算法可以不是使用歸并排序,但是該算法一定要是穩(wěn)定的。這個(gè)類(lèi)是的一部分。官方這個(gè)類(lèi)只包含操作或返回集合的靜態(tài)方法。具體來(lái)說(shuō)是,第一步,先把集合轉(zhuǎn)換為數(shù)組,第二步,調(diào)用。和沒(méi)有什么區(qū)別,只是傳參有點(diǎn)不同。 Arrays 1.作用看類(lèi)的名字,就知道是對(duì)數(shù)組(數(shù)據(jù)類(lèi)型[])進(jìn)行各種操作。例如,排序、查找、復(fù)制等。 排序的算法是歸并排序。查找的算法是二分查找。復(fù)...
摘要:提供了一個(gè)操作和等集合的工具類(lèi),該工具類(lèi)提供了大量方法對(duì)集合進(jìn)行排序查詢(xún)和修改等操作,還提供了將集合對(duì)象置為不可變對(duì)集合對(duì)象實(shí)現(xiàn)同步控制等方法排序操作反轉(zhuǎn)指定集合中元素的順序?qū)显剡M(jìn)行隨機(jī)排序方法模擬了洗牌動(dòng)作根據(jù)元素的自然順序?qū)χ付? Java提供了一個(gè)操作Set、List和Map等集合的工具類(lèi):Collections,該工具類(lèi)提供了大量方法對(duì)集合進(jìn)行排序、查詢(xún)和修改等操作,還提...
摘要:是集合工具類(lèi),用來(lái)對(duì)集合進(jìn)行操作。部分方法如下,將集合中元素按照指定規(guī)則排序。 package com.itheima.demo05.Collections; import java.util.ArrayList;import java.util.Collections;import java.util.Comparator; /* - java.utils.Collections是集...
摘要:排序操作均為方法反轉(zhuǎn)中元素的順序。根據(jù)元素的自然順序?qū)χ付显匕瓷蚺判颍鶕?jù)指定的產(chǎn)生的順序?qū)显剡M(jìn)行排序。,,將指定集合中的處元素和處元素進(jìn)行交換。 C...
摘要:容器相關(guān)的操作及其源碼分析說(shuō)明本文是基于分析的。有哪些抽取出來(lái)的工具類(lèi)。即對(duì)于反轉(zhuǎn)方式如下替換值查找在出現(xiàn)的最小位置。查找在出現(xiàn)的最大位置。即返回的和原在元素上保持一致,但不可修改。 容器相關(guān)的操作及其源碼分析 說(shuō)明 1、本文是基于JDK 7 分析的。JDK 8 待我工作了得好好研究下。Lambda、Stream。 2、因?yàn)閭€(gè)人能力有限,只能以模仿的形式+自己的理解寫(xiě)筆記。如有不對(duì)的...
閱讀 1963·2021-10-25 09:48
閱讀 2781·2021-09-22 14:59
閱讀 1755·2019-08-29 16:52
閱讀 854·2019-08-29 16:07
閱讀 2297·2019-08-29 12:38
閱讀 1751·2019-08-26 13:23
閱讀 875·2019-08-26 11:49
閱讀 3264·2019-08-26 10:56