专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java的集合及数组排序原理及代码(java集合排序sort)

temp10 2024-10-05 01:02:56 java教程 8 ℃ 0 评论

Java提供了多种集合框架和排序算法,以下是一些常见的集合类型和排序方法以及相应的Java代码实现。

一、集合类型

Java的集合及数组排序原理及代码(java集合排序sort)

  1. ArrayList
    ArrayList是Java中最常用的动态数组实现之一,它可以根据需要自动扩展和收缩。ArrayList提供了许多有用的方法,例如add()、get()、remove()等。
List<Integer> list = new ArrayList<>();  
list.add(1);  
list.add(2);  
list.add(3);
  1. LinkedList
    LinkedList是Java中实现双向链表的类,它提供了许多与ArrayList类似的方法,但具有更好的性能,特别是在插入和删除元素时。
List<Integer> list = new LinkedList<>();  
list.add(1);  
list.add(2);  
list.add(3);
  1. HashSet
    HashSet是Java中实现哈希表的类,它不允许出现重复元素。HashSet提供了add()、remove()和contains()等方法。
Set<Integer> set = new HashSet<>();  
set.add(1);  
set.add(2);  
set.add(3);

二、排序算法

  1. 冒泡排序
    冒泡排序是一种简单的排序算法,它通过不断比较相邻元素并交换它们的位置来将最大的元素“冒泡”到数组的末尾。以下是使用冒泡排序对整数数组进行排序的Java代码实现:
public static void bubbleSort(int[] arr) {  
    int n = arr.length;  
    for (int i = 0; i < n - 1; i++) {  
        for (int j = 0; j < n - i - 1; j++) {  
            if (arr[j] > arr[j+1]) {  
                int temp = arr[j];  
                arr[j] = arr[j+1];  
                arr[j+1] = temp;  
            }  
        }  
    }  
}
  1. 快速排序
    快速排序是一种高效的排序算法,它采用分治法来将数组划分为两个子数组,然后递归地对这两个子数组进行排序。以下是使用快速排序对整数数组进行排序的Java代码实现:
public static void quickSort(int[] arr, int low, int high) {  
    if (low < high) {  
        int pivot = partition(arr, low, high);  
        quickSort(arr, low, pivot-1);  
        quickSort(arr, pivot+1, high);  
    }  
}  
  
private static int partition(int[] arr, int low, int high) {  
    int pivot = arr[high];  
    int i = low - 1;  
    for (int j = low; j < high; j++) {  
        if (arr[j] < pivot) {  
            i++;  
            int temp = arr[i];  
            arr[i] = arr[j];  
            arr[j] = temp;  
        }  
    }  
    int temp = arr[i+1];  
    arr[i+1] = arr[high];  
    arr[high] = temp;  
    return i+1;  
}

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表