在Java中,你可以使用多种方法对数据进行排序。以下是几种常用的排序方法:
内置排序方法
使用`Arrays.sort()`方法对数组进行排序。
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] a = {5, 4, 2, 4, 9, 1};
Arrays.sort(a);
for (int i : a) {
System.out.print(i + " ");
}
}
}
冒泡排序
通过比较相邻素并交换位置,将最大或最小值“冒泡”到数组的末尾。
public static int[] bubbleSort(int[] args) {
for (int i = 0; i < args.length - 1; i++) {
for (int j = i + 1; j < args.length; j++) {
if (args[i] > args[j]) {
int temp = args[i];
args[i] = args[j];
args[j] = temp;
}
}
}
return args;
}
选择排序
遍历数组,每次选择剩余素中的最小(或最大)值,并将其放到已排序序列的末尾。
public static int[] selectionSort(int[] args) {
for (int i = 0; i < args.length - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < args.length; j++) {
if (args[j] < args[minIndex]) {
minIndex = j;
}
}
int temp = args[i];
args[i] = args[minIndex];
args[minIndex] = temp;
}
return args;
}
插入排序
将未排序的素逐个插入到已排序序列中的适当位置。
public static int[] insertionSort(int[] args) {
for (int i = 1; i < args.length; i++) {
int key = args[i];
int j = i - 1;
while (j >= 0 && args[j] > key) {
args[j + 1] = args[j];
j = j - 1;
}
args[j + 1] = key;
}
return args;
}
自定义排序
实现`Comparable`接口或创建自定义比较器来对对象进行排序。
class Record implements Comparable
{ String name;
int age;
Record(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int compareTo(Record other) {
return this.age - other.age;
}
}
public class TestSort {
public static void main(String[] args) {
ArrayList
records = new ArrayList<>(); records.add(new Record("Viru", 25));
records.add(new Record("Saurav", 30));
records.add(new Record("Mukesh", 20));
Collections.sort(records);
for (Record record : records) {
System.out.println(record.name + " " + record.age);
}
}
}
使用`Collections.sort()`对集合排序
如果集合素是`List`类型,可以使用`Collections.sort()`方法进行排序。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class TestSort {
public static void main(String[] args) {
List
list = new ArrayList<>(); list.add("Viru");
list.add("Saurav");
list.add("Mukesh");
list.add("Tahir");
Collections.sort(list);
for (String item : list) {
System.out.println(item);
}
}
}
以上是Java中常用的排序方法
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/144185.html