`
静静的小谱
  • 浏览: 18935 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

用泛型对数组进行排序

    博客分类:
  • java
阅读更多
import java.util.Arrays;
import java.util.Comparator;

public class 用泛型对数组进行排序 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Integer [] num = { 2, 1, 5, 3, 6,4, 9, 8 };
		bubbleSort(num,new Comparator<Integer>(){
			public int compare(Integer x, Integer y) {
				return x - y;
			}
		});
		System.out.println(Arrays.toString(num));
	}
	public static<T> void bubbleSort(T[]arr,Comparator<T>comp){
		for (int i =arr.length-1;i>0; i--) {
			for (int j = 0; j <i; j++) {
				if(comp.compare(arr[j], arr[j+1])>0){
					T temp=arr[j];
					arr[j]=arr[j+1];
					arr[j+1]=temp;
				}
			}
		}
	}
}
分享到:
评论

相关推荐

    函数模板对数组冒泡排序

    函数模板对数组冒泡排序是对线性表的部分操作,通过使用函数模板来实现数组的冒泡排序。下面是对标题、描述、标签和部分内容的知识点解释: 1. 函数模板的定义:在C++中,函数模板是一种泛型编程技术,可以根据不同...

    利用 Array.Sort()函数对数组排序

    在C#编程语言中,`Array.Sort()`方法是用于对数组进行排序的关键工具。这个方法提供了对数组元素的快速、高效排序,适用于多种数据类型,包括整型、浮点型、字符串以及自定义对象。本篇文章将深入探讨`Array.Sort()`...

    数据结构课程设计之java排序.doc

    算法的实现过程中使用了一个循环来对数组进行排序,每次循环中使用了递减的增量来缩小排序范围。在main方法中,我们可以看到对数组的排序过程,首先输出原始数组,再对其进行排序,然后输出排序后的数组。 在实现中...

    java【第4章:数组与方法】_Java新特性对数组的支持

    6. Stream API:Java 8引入的Stream API允许对数组进行函数式操作,如过滤、映射和收集。例如,`int sum = Arrays.stream(numbers).sum();` 计算数组所有元素的和。 7. var关键字:Java 10引入了var关键字,可以在...

    Java5.0数组排序

    在Java 5.0之前,我们通常使用`Arrays.sort()`方法来对数组进行排序,但该方法的功能相对有限。Java 5.0中,`java.util.Arrays`类和`java.util.Collections`类都得到了升级,提供了更强大的排序功能。 一、Java 5.0...

    冒泡排序算法的C++函数模板

    函数功能:对数组中的某一部分进行冒泡排序。 在上面的代码中,我们可以看到冒泡排序算法的C++函数模板的实现。这个函数模板可以适用于多种数据类型,如int、float、double等。 在 main 函数中,我们可以看到如何...

    C++ 实现的简单的希尔排序的算法

    它依次调用`shellInsert`函数,使用不同的间隔值对数组进行排序。 ```cpp void shellSort(int *a, int len, int *dk, int dlen) { for (int i = 0; i ; i++) { shellInsert(a, dk[i], len); } } ``` 3. **...

    C#中键值对集合按值排序

    由于`Array.Sort`默认按照升序排序,如果需要降序排序,我们将在排序后使用`Array.Reverse`对数组进行反转。 最后,创建一个新的`Dictionary, Single&gt;`实例,遍历排序后的键数组,将排序后的键值对添加到新字典中。...

    希尔-归并排序——模板类

    这个模板类可能包含了构造函数、析构函数、成员函数(如sort())等,其中sort()函数可能是实现排序的核心部分,它会先调用希尔排序对数组进行初步排序,然后利用归并排序进行最终的排序,以达到更快的排序速度和更好...

    Java高级特性 第一章 集合框架和泛型

    ArrayList类是一个动态数组,对数组进行了封装,实现了长度可变的数组。ArrayList可以添加任何类型的数据,添加的数据都将转换成Object类型。ArrayList的优点是遍历元素和随机访问元素的效率高,但不适合在数据频繁...

    Java新特性对数组的支持

    本文将详细探讨“Java新特性对数组的支持”,并结合李兴华在北京魔乐的讲解,以及具体的代码示例,来深入理解这些变化。 在Java 5及以后的版本中,数组得到了显著的增强,主要体现在以下几个方面: 1. **泛型数组*...

    java接口及实现接口的类实验报告.doc

    在 PersonText 类中,我们创建了一个 Person 对象数组,并使用 Arrays.sort() 方法对数组进行排序。最后,我们使用 Syste.out.println() 方法输出排序后的结果。 通过本次实验,我们掌握了 Java 语言中的接口和实现...

    java sort排序算法实例完整代码

    这个算法在Java中主要体现在`java.util.Arrays`和`java.util.Collections`两个类中,提供了对数组和集合的排序功能。下面我们将深入探讨`sort`排序算法的工作原理、性能分析以及实际应用示例。 ### 1. `Arrays.sort...

    C#数组的随机排序源码

    在实际开发中,我们经常需要对数组中的元素进行各种操作,其中之一就是排序。本篇文章将详细探讨C#中实现数组的随机排序的方法,以及相关的编程技巧。 随机排序不同于常见的升序或降序排序,它是指数组中的元素被...

    数字和字符排序(C++语言编写)

    // 对数组排序 std::vector&lt;int&gt; vec = {3, 7, 1, 8, 2}; std::sort(vec.begin(), vec.end()); // 对vector排序 ``` 对于字符串排序,`sort()`函数同样适用,但需要确保字符串是可以比较的。C++中的字符串是`std:...

    C#中数组做参数的小例子

    例如,下面的代码定义了一个函数,用于对数组进行排序: ```csharp void SortArray(int[] arr) { // 对数组arr进行排序的代码 } ``` 调用此函数时,排序会直接影响到原始数组: ```csharp int[] numbers ...

    Array sort.rar

    在这些代码中,开发者可能会展示如何创建和操作`List&lt;T&gt;`,以及如何使用`Array.Sort()`对数组进行排序。 通过学习和理解这些源码,你可以更深入地了解`Collections`数据结构的灵活性,以及`Array.Sort()`方法的用法...

    Java 的常用包与数组的复制与排序27

    Java提供了`Arrays.sort()`方法来对数组进行排序: 1. 对于基本类型数组,如整数数组,可以直接调用`Arrays.sort(int[])`: ```java int[] arr = {5, 2, 8, 1, 9}; Arrays.sort(arr); ``` 2. 对于对象数组,`...

    C_Array Array数组

    Array类的方法如`Copy`用于复制数组的部分或全部,`Sort`用于对数组元素进行排序。 ArrayList是.NET Framework早期版本中的动态数组,它可以自动调整大小以适应存储更多的元素。尽管ArrayList可以存储任何类型的...

Global site tag (gtag.js) - Google Analytics