收藏。Java中的sort()及其示例

JAVAutil。收藏。排序() 方法在java中存在。util。收藏课。它用于对指定区域中存在的元素进行排序 列表 按升序排列的集合。 它的工作原理与 JAVAutil。数组。排序() 方法,但它比它更好,因为它可以对数组元素以及链表、队列和其中存在的更多元素进行排序。

null
public static void sort(List myList)

myList : A List type object we want to sort.

This method doesn't return anything

例子:


Let us suppose that our list contains
{"Geeks For Geeks", "Friends", "Dear", "Is", "Superb"}

After using Collection.sort(), we obtain a sorted list as
{"Dear", "Friends", "Geeks For Geeks", "Is", "Superb"}

按升序排序ArrayList

// Java program to demonstrate working of Collections.sort()
import java.util.*;
public class Collectionsorting
{
public static void main(String[] args)
{
// Create a list of strings
ArrayList<String> al = new ArrayList<String>();
al.add( "Geeks For Geeks" );
al.add( "Friends" );
al.add( "Dear" );
al.add( "Is" );
al.add( "Superb" );
/* Collections.sort method is sorting the
elements of ArrayList in ascending order. */
Collections.sort(al);
// Let us print the sorted list
System.out.println( "List after the use of" +
" Collection.sort() :" + al);
}
}


输出:

List after the use of Collection.sort() :
[Dear, Friends, Geeks For Geeks, Is, Superb]

按降序排列ArrayList

// Java program to demonstrate working of Collections.sort()
// to descending order.
import java.util.*;
public class Collectionsorting
{
public static void main(String[] args)
{
// Create a list of strings
ArrayList<String> al = new ArrayList<String>();
al.add( "Geeks For Geeks" );
al.add( "Friends" );
al.add( "Dear" );
al.add( "Is" );
al.add( "Superb" );
/* Collections.sort method is sorting the
elements of ArrayList in ascending order. */
Collections.sort(al, Collections.reverseOrder());
// Let us print the sorted list
System.out.println( "List after the use of" +
" Collection.sort() :" + al);
}
}


输出:

List after the use of Collection.sort() :
[Superb, Is, Geeks For Geeks, Friends, Dear]

根据用户定义的条件对ArrayList进行排序。 我们可以使用 比较器接口 为此目的。

// Java program to demonstrate working of Comparator
// interface and Collections.sort() to sort according
// to user defined criteria.
import java.util.*;
import java.lang.*;
import java.io.*;
// A class to represent a student.
class Student
{
int rollno;
String name, address;
// Constructor
public Student( int rollno, String name,
String address)
{
this .rollno = rollno;
this .name = name;
this .address = address;
}
// Used to print student details in main()
public String toString()
{
return this .rollno + " " + this .name +
" " + this .address;
}
}
class Sortbyroll implements Comparator<Student>
{
// Used for sorting in ascending order of
// roll number
public int compare(Student a, Student b)
{
return a.rollno - b.rollno;
}
}
// Driver class
class Main
{
public static void main (String[] args)
{
ArrayList<Student> ar = new ArrayList<Student>();
ar.add( new Student( 111 , "bbbb" , "london" ));
ar.add( new Student( 131 , "aaaa" , "nyc" ));
ar.add( new Student( 121 , "cccc" , "jaipur" ));
System.out.println( "Unsorted" );
for ( int i= 0 ; i<ar.size(); i++)
System.out.println(ar.get(i));
Collections.sort(ar, new Sortbyroll());
System.out.println( "Sorted by rollno" );
for ( int i= 0 ; i<ar.size(); i++)
System.out.println(ar.get(i));
}
}


输出:

Unsorted
111 bbbb london
131 aaaa nyc
121 cccc jaipur

Sorted by rollno
111 bbbb london
121 cccc jaipur
131 aaaa nyc

数组。排序() vs系列。排序() 数组。排序也适用于原始数据类型的数组。 收藏 .sort()适用于对象集合,如 ArrayList , 链表

我们可以使用集合。sort()在创建给定数组项的ArrayList后对数组进行排序。

// Using Collections.sort() to sort an array
import java.util.*;
public class Collectionsort
{
public static void main(String[] args)
{
// create an array of string objs
String domains[] = { "Practice" , "Geeks" ,
"Code" , "Quiz" };
// Here we are making a list named as Collist
List colList =
new ArrayList(Arrays.asList(domains));
// Collection.sort() method is used here
// to sort the list elements.
Collections.sort(colList);
// Let us print the sorted list
System.out.println( "List after the use of" +
" Collection.sort()  :" +
colList);
}
}


输出:

List after the use of Collection.sort()  :
[Code, Geeks, Practice, Quiz]

本文由 莫希特·古普塔 .文章希望对受尊敬的极客有用。 如果你喜欢Geeksforgek,并且想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 .

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享