Java - Collections.sort() 的介绍及用法

阅读时间: 10分钟

Collections.sort() method 是在java.util.Collections class之下,是用于元素的排序(默认升序)。
功能与java.util.Arrays.sort() method是差不多。
可以用在所有List的implementations 包括LinkedList 和ArrayList。

Collections.sort() method 有两个overloaded methods,分别是:
Collections.sort(Collection)
默认升序的方式

Collections.sort(Collection, Comparator)
排序会表按Comparator的方式

例子1:
升序排列

import java.util.*; public class Collectionsorting { public static void main(String[] args) { // 创建一个ArrayListArrayList<String> list1 = new ArrayList<String>(); list1.add("I"); list1.add("am"); list1.add("Martin"); //升序排列Collections.sort(list1); //显示结果System.out.println("List after the use of" + " Collection.sort() :\n" +list1); } }

例子2:
降序排列

import java.util.*; public class Collectionsorting { public static void main(String[] args) { // 创建一个ArrayListArrayList<String> list1 = new ArrayList<String>(); list1.add("I"); list1.add("am"); list1.add("Martin"); //降序排列Collections.sort(list1,Collections.reverseOrder());  //显示结果System.out.println("List after the use of" + " Collection.sort() :\n" +list1); } }

例子3:
排序会表按Comparator的方式

import java.util.*; import java.lang.*; import java.io.*; // 一个Book的类 class Book { Int bookID; String name, type; // Constructor public Book (int bookID, String name, String type) { this. bookID = bookID; this.name = name; this. type = type; } // Book的资料public String toString() { return this. bookID + " " + this.name + " " + this. type; } } class BookSort implements Comparator<Book> { //以book的ID升序排列public int compare(Book a, Book b) { return a.bookID - b.bookID; } } class Main { public static void main (String[] args) { ArrayList< Book > list3 = new ArrayList<Book>(); list3.add(new Book (1234, "Gogogo", "computer")); list3.add(new Book (1698, "Happy", "art")); list3.add(new Book (5468, "Martin", "music")); System.out.println("Unsorted"); for (int i=0; i< list3.size(); i++) System.out.println(list3.get(i)); Collections.sort(list3, new BookSort()); System.out.println("\nBook Sort"); for (int i=0; i< list3.size(); i++) System.out.println(list3.get(i)); } }

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章