Collections類

可變參數:

什麼是可變參數:

JDK1.5的新特性
參數的類型是一樣的,參數的個數是可以變化的

可變參數格式:

修飾符 返回值類型 方法名(數據類型... 變量名) {}

可變參數的好處:

有了可變參數,只要寫一個方法就可以傳入任意多個參數,不用寫多個重載的方法

注意:

1.一個方法只能有一個可變參數
2.如果方法中有多個參數,可變參數要放到最後。

應用場景: Collections

Collections常用功能

java.utils.Collections 是集合工具類,用來對集合進行操作。 常用方法如下:

public static voidshuffle(List<?> list) :打亂集合順序。
public static void sort(Listlist) :將集合中元素按照默認規則排序。
public static void sort(List list,Comparator<? super T> ) :將集合中元素按照指定規則排序。

代碼演示:

public class CollectionsDemo {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(100);
list.add(300);
list.add(200);
list.add(50);
//排序方法
Collections.sort(list);
System.out.println(list);
	}
}
// 結果:[50,100, 200, 300]

注意:

字母是按照ASCII碼值從小到大,如果第一個相同,在按照第二個字母排序

Comparator比較器:

Comparator是一個接口,我們稱爲比較器.用於指定比較規則的
int compare(Xxx o1, Xxx o2)方法如何升序如何降序?

o1 - o2: 升序
o2 - o1: 降序

創建一個學生類,存儲到ArrayList集合中完成指定排序操作。
Student 類

public class Student{
private String name;
private int age;
//構造方法
//get/set
//toString
}

測試類:

public class Demo {
public static void main(String[] args) {
// 創建四個學生對象 存儲到集合中
ArrayList<Student> list = new ArrayList<Student>();
list.add(new Student("rose",18));
list.add(new Student("jack",16));
list.add(new Student("abc",20));
Collections.sort(list, new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
return o1.getAge()-o2.getAge();//以學生的年齡升序
	}
});
for (Student student : list) {
System.out.println(student);
		}
	}
}
Student{name='jack', age=16}
Student{name='rose', age=18}
Student{name='abc', age=20}
發佈了49 篇原創文章 · 獲贊 171 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章