【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學習筆記#3-異常/集合Java筆記
- 學習筆記 07 --- JUC集合筆記
- Java 集合類——Collections(1)Java
- Java 集合類——Collections(3)Java
- Java 集合類——Collections(2)Java
- Java集合學習記錄——IteratorJava
- 集合冪級數學習筆記筆記
- Java —— 集合工具類(Collections 類)Java
- java學習筆記Java筆記
- Object C學習筆記12-集合Object筆記
- 《JAVA學習指南》學習筆記Java筆記
- Java複習筆記第二篇--集合學習之實現原理二Java筆記
- java學習筆記6Java筆記
- Java學習筆記--反射Java筆記反射
- java學習筆記啊Java筆記
- Java學習筆記二Java筆記
- Java學習筆記三Java筆記
- python學習筆記24_集合set( )Python筆記
- scala學習筆記:理解並行集合par筆記並行
- 集合框架-Collections框架
- Java學習筆記--sql與javaJava筆記SQL
- Java學習筆記記錄(二)Java筆記
- day08_我的Java學習筆記 (String類、ArrayList集合類)Java筆記
- Java集合框架學習Java框架
- 學習Java: CopyOnWrite集合Java
- ES6學習筆記(四)【正則,集合】筆記
- Java學習筆記--運算子Java筆記
- Java學習筆記系列-反射Java筆記反射
- Java JDK 9學習筆記JavaJDK筆記
- java學習筆記(異常)Java筆記
- 【部分】Java速成學習筆記Java筆記
- Java IO學習筆記五Java筆記
- Java API學習筆記(一)JavaAPI筆記
- Java學習筆記之一Java筆記
- Java學習筆記之staticJava筆記
- Java學習筆記之多型Java筆記多型