摘要:是集合工具类,用来对集合进行操作。部分方法如下将集合中元素按照默认规则排序。注意使用前提被排序的集合里边存储的元素必须实现重写接口中的方法定义排序的规则接口的排序规则自己参数升序将集合中元素按照默认规则排序。
package com.itheima.demo05.Collections;
import java.util.ArrayList;
import java.util.Collections;
/*
</>复制代码
- java.utils.Collections是集合工具类,用来对集合进行操作。部分方法如下:
public static void sort(List list):将集合中元素按照默认规则排序。
注意:
sort(List list)使用前提
被排序的集合里边存储的元素,必须实现Comparable,重写接口中的方法compareTo定义排序的规则
Comparable接口的排序规则:
自己(this)-参数:升序
*/
public class Demo02Sort {
</>复制代码
public static void main(String[] args) {
ArrayList list01 = new ArrayList<>();
list01.add(1);
list01.add(3);
list01.add(2);
System.out.println(list01);//[1, 3, 2]
//public static void sort(List list):将集合中元素按照默认规则排序。
Collections.sort(list01);//默认是升序
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;
}
//重写排序的规则
@Override
public int compareTo(Person o) {
//return 0;//认为元素都是相同的
//自定义比较的规则,比较两个人的年龄(this,参数Person)
//return this.getAge() - o.getAge();//年龄升序排序
return o.getAge() - this.getAge();//年龄升序排序
}
}
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/75164.html
摘要:排序的算法是归并排序。举个例子,的算法可以不是使用归并排序,但是该算法一定要是稳定的。这个类是的一部分。官方这个类只包含操作或返回集合的静态方法。具体来说是,第一步,先把集合转换为数组,第二步,调用。和没有什么区别,只是传参有点不同。 Arrays 1.作用看类的名字,就知道是对数组(数据类型[])进行各种操作。例如,排序、查找、复制等。 排序的算法是归并排序。查找的算法是二分查找。复...
摘要:提供了一个操作和等集合的工具类,该工具类提供了大量方法对集合进行排序查询和修改等操作,还提供了将集合对象置为不可变对集合对象实现同步控制等方法排序操作反转指定集合中元素的顺序对集合元素进行随机排序方法模拟了洗牌动作根据元素的自然顺序对指定集 Java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类提供了大量方法对集合进行排序、查询和修改等操作,还提...
摘要:是集合工具类,用来对集合进行操作。部分方法如下,将集合中元素按照指定规则排序。 package com.itheima.demo05.Collections; import java.util.ArrayList;import java.util.Collections;import java.util.Comparator; /* - java.utils.Collections是集...
摘要:排序操作均为方法反转中元素的顺序。根据元素的自然顺序对指定集合元素按升序排序,根据指定的产生的顺序对集合元素进行排序。,,将指定集合中的处元素和处元素进行交换。 C...
摘要:容器相关的操作及其源码分析说明本文是基于分析的。有哪些抽取出来的工具类。即对于反转方式如下替换值查找在出现的最小位置。查找在出现的最大位置。即返回的和原在元素上保持一致,但不可修改。 容器相关的操作及其源码分析 说明 1、本文是基于JDK 7 分析的。JDK 8 待我工作了得好好研究下。Lambda、Stream。 2、因为个人能力有限,只能以模仿的形式+自己的理解写笔记。如有不对的...
阅读 2046·2021-10-25 09:48
阅读 2919·2021-09-22 14:59
阅读 1855·2019-08-29 16:52
阅读 957·2019-08-29 16:07
阅读 2411·2019-08-29 12:38
阅读 1946·2019-08-26 13:23
阅读 955·2019-08-26 11:49
阅读 3373·2019-08-26 10:56