【Java學習筆記】Collections集合
文章目錄
Collections概述和使用
概述
Collections類是針對集合操作的工具類,常用方法有:
- public static <
T
extends Comparable<T
superT
>>void sort(List<T
list>):將指定的List列表按生序排序 - public static void reverse(List<
?
>list): 反轉指定列表中元素的順序 - public static void shuffle(List<
?
>list):使用預設的隨機源隨機排列指定的列表
public static void main(String[] args) {
ArrayList<Integer>list=new ArrayList<>();
list.add(10);
list.add(30);
list.add(20);
list.add(80);
list.add(5);
list.add(40);
System.out.println(list);
//1. sort升序
Collections.sort(list);
System.out.println(list);
//2.reverse反轉
Collections.reverse(list);
System.out.println(list);
//3.shuffle隨機置換
Collections.shuffle(list);
System.out.println(list);
}
列印結果如下:
[10, 30, 20, 80, 5, 40]
[5, 10, 20, 30, 40, 80]
[80, 40, 30, 20, 10, 5]
[5, 80, 30, 20, 40, 10]
Process finished with exit code 0
使用
案例:ArrayList儲存學生物件並排序,要求:按照年齡從小到大排序,年齡相同時,按照姓名和字母順序排序
//1.定義學生類
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.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;
}
}
public static void main(String[] args) {
//2.建立ArrayList集合物件
ArrayList<Student>list=new ArrayList<>();
//3.建立學生物件
Student student1=new Student("A",25);
Student student2=new Student("H",18);
Student student3=new Student("I",23);
Student student4=new Student("G",20);
Student student5=new Student("B",20);
//4.把學生物件新增到集合
list.add(student1);
list.add(student2);
list.add(student3);
list.add(student4);
list.add(student5);
//5.使用Collections對ArrayList集合排序
Collections.sort(list, new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
//按照年齡從小到大排序,年齡相同時,按照姓名的字母順序排序
int num1=s1.getAge()-s2.getAge();
int num2=num1==0?s1.getName().compareTo(s2.getName()):num1;
return num2;
}
});
//6.遍歷集合
for(Student student:list){
System.out.println(student.getName()+","+student.getAge());
}
}
列印結果如下:
H,18
B,20
G,20
I,23
A,25
Process finished with exit code 0
相關文章
- Java 集合學習筆記Java筆記
- Java中的Map集合學習筆記Java筆記
- Java 集合類——Collections(1)Java
- Java 集合類——Collections(3)Java
- Java 集合類——Collections(2)Java
- Java集合學習記錄——IteratorJava
- Java —— 集合工具類(Collections 類)Java
- 集合冪級數學習筆記筆記
- JAVA學習筆記Java筆記
- python學習筆記24_集合set( )Python筆記
- 《JAVA學習指南》學習筆記Java筆記
- Java複習筆記第二篇--集合學習之實現原理二Java筆記
- day08_我的Java學習筆記 (String類、ArrayList集合類)Java筆記
- java學習筆記6Java筆記
- Java學習筆記4Java筆記
- Java JNI 學習筆記Java筆記
- Java學習筆記記錄(二)Java筆記
- Java集合框架學習Java框架
- ES6學習筆記(四)【正則,集合】筆記
- Java JDK 9學習筆記JavaJDK筆記
- TensorFlow Java API 學習筆記JavaAPI筆記
- Java學習筆記系列-反射Java筆記反射
- 【部分】Java速成學習筆記Java筆記
- Java基礎學習筆記Java筆記
- Java學習筆記--運算子Java筆記
- Kotlin for Java Developers 學習筆記KotlinJavaDeveloper筆記
- java學習筆記(異常)Java筆記
- Python collections 模組筆記Python筆記
- java.util.Collection集合方法:Collections.BinarySearch 方法Java
- WinUI 3學習筆記(2)—— 用ListView來展示集合UI筆記View
- (一)Java併發學習筆記Java筆記
- JAVA 學習併發筆記(一)Java筆記
- 2018.03.12、Java-Thread學習筆記Javathread筆記
- Java學習筆記(七十二)—— CookieJava筆記Cookie
- 阿猛學習筆記java十二筆記Java
- java 學習筆記 day02Java筆記
- Java Spring Boot 學習筆記(一)JavaSpring Boot筆記
- Java 學習筆記(持續更新)Java筆記