`

数组自定义排序

 
阅读更多
CustomComparator.java
package corejava8.structure;

import java.util.Comparator;

public class CustomComparator implements Comparator<String> {
	@Override
	public int compare(String s1, String s2) {
		s1 = s1.substring(1);
		s2 = s2.substring(1);
		return s1.compareTo(s2);
		// or, more concisely:
		// return s1.substring(1).compareTo(s2.substring(1));
	}
}


CustomComparatorDemo.java
package corejava8.structure;

import java.util.Arrays;

public class CustomComparatorDemo {
	public static void main(String[] unused) {
		String[] strings = { "painful", "mainly", "gaining", "raindrops" };
		Arrays.sort(strings);
		dump(strings, "Using Default Sort");
		Arrays.sort(strings, new CustomComparator());
		dump(strings, "Using Custom Comparator");
	}

	static void dump(String[] args, String title) {
		System.out.println(title);
		for (String s : args)
			System.out.println(s);
	}
}

运行结果:
Using Default Sort
gaining
mainly
painful
raindrops
Using Custom Comparator
raindrops
painful
gaining
mainly

分享到:
评论

相关推荐

    java数组自定义排序

    java中数组的自定义排序,种类繁多,简单实现,可自由操控。

    易语言自定义数据类型数组排序

    本话题聚焦于“易语言自定义数据类型数组排序”,将深入探讨如何在易语言中创建、操作自定义数据类型数组,并实现各种排序算法,如根据产地、类别和售价等属性进行排序。 自定义数据类型在易语言中允许我们定义包含...

    深入理解js数组的sort排序

    废话少说直接上代码: &lt;body&gt; sort()对数组排序,不开辟新的内存,对原有数组元素进行调换 1、简单数组简单排序 [removed] var arrSimple=new Array(1... 2、简单数组自定义排序 &lt;script type=tex

    PHP实现的自定义数组排序函数与排序类示例

    本篇文章将深入探讨如何使用PHP实现自定义数组排序,包括自定义排序函数和排序类的使用。 首先,让我们看看自定义数组排序函数。在PHP中,`uasort()` 函数允许我们根据自定义比较函数对关联数组进行排序。在给定的...

    LabVIEW二维数组排序.rar

    总结来说,LabVIEW中的二维数组排序涉及理解二维数组的结构,掌握各种排序方法,包括按行、按列及自定义排序,以及处理数据类型转换和性能优化。熟练掌握这些技能将使你在LabVIEW编程中游刃有余,处理各种数据处理...

    二维数组如何进行冒泡排序

    对于二维数组的排序,通常的做法是先将其转换为一维数组,然后再利用冒泡排序对一维数组进行排序,最后再将排序后的一维数组还原为二维数组。这种方法不仅易于理解和实现,而且能够充分利用已有的排序算法。 1. **...

    易语言源码易语言自定义数据类型数组排序.rar

    易语言源码易语言自定义数据类型数组排序.rar 易语言源码易语言自定义数据类型数组排序.rar 易语言源码易语言自定义数据类型数组排序.rar 易语言源码易语言自定义数据类型数组排序.rar 易语言源码易语言自定义...

    C#实现对二维数组排序的方法

    对于二维数组,我们需要自定义排序逻辑。文中提供的代码提供了一种解决方案,它首先将二维数组转换为`DataTable`对象,利用`DataTable`的排序功能,然后将排序后的结果反向映射回二维数组。 这段代码定义了一个名为...

    C#随机数,C#数组的排序,反转

    排序时,如果数组包含自定义类型的对象,你需要提供自定义的比较器,或者确保类实现了IComparable接口,以便Sort方法知道如何比较对象。 数组排序和反转对于数据处理、数据分析和算法实现都非常关键。例如,它们在...

    易语言自定义类型数组排序

    在易语言中,自定义类型数组排序是一项重要的编程技能,它允许用户按照特定规则对包含自定义类型的数据进行排序。本文将详细讲解易语言自定义类型数组排序的相关知识点。 首先,我们需要理解易语言中的自定义类型...

    matlab开发-多维数组的合并排序

    MATLAB虽然提供了许多内置函数,但对于大型多维数组,自定义排序算法可能更为合适,特别是在性能要求较高的情况下。合并排序由于其稳定性(相同元素的相对顺序不会改变)和O(n log n)的时间复杂度,成为了多维数组...

    java 数组递增排序

    此外,如果你想要自定义排序规则,可以实现`Comparator`接口并传入`Arrays.sort()` 方法。这允许根据特定属性或逻辑对对象数组进行排序。 总的来说,了解和熟练掌握各种排序算法是每个Java程序员的基本功。在实际...

    flex 数组排序

    ### Flex 数组排序知识点 #### 一、简介 在Flex开发中,经常需要对数组进行排序,特别是当处理复杂的二维数组或对象数组时。本文将详细介绍如何使用Flex中的`sortOn`方法对数组进行排序,并给出具体的代码示例。 ...

    挂号法-自定义数据数组排序.rar

    比较函数或比较器是自定义排序的核心,它定义了如何比较两个元素并决定它们的相对顺序。 4. **排序算法**:挂号法可能是一种特定的排序算法,但常见的一些排序算法如冒泡排序、插入排序、选择排序、快速排序、归并...

    用vba实现自定义序列排序

    VBA(Visual Basic for Applications)是Excel内置的一种编程语言,通过编写VBA宏,我们可以实现更复杂的自定义排序,包括多级排序。下面将详细讲解如何使用VBA实现自定义序列排序。 首先,理解VBA的基本结构至关...

    iOS汉字数组排序

    在调用排序函数时,传入自定义的比较闭包,比较两个元素的拼音。 4. 示例代码(假设`ZinkSortArray`有一个`sortWithPinyin`方法): ```swift let chineseArray = ["甲", "乙", "丙", "丁"] let pinyinArray = ...

    易语言挂号法-自定义数据数组排序

    总结来说,“易语言挂号法-自定义数据数组排序”涉及到的关键概念包括易语言的基础语法、数组操作、自定义数据类型、比较函数以及优化的排序算法——挂号法。通过掌握这些知识点,开发者可以更高效地处理和排序包含...

    C#使用希尔排序法对一维数组进行排序

    然后对每个子序列进行插入排序,可以使用C#内置的`Array.Sort()`函数或者自定义插入排序算法。 3. **减小增量**:完成当前增量下的排序后,将增量减半,重复步骤2,直到增量为1。 以下是一个C#实现希尔排序的示例...

    易语言源码易语言数组的排序.rar

    3. 自定义排序算法: 对于一些复杂或特殊的排序需求,可能需要使用自定义的排序算法,比如冒泡排序、插入排序、选择排序、快速排序、归并排序等。这些算法可以通过循环和条件判断来实现,易语言的控制结构(如...

    易语言自定义类型数组排序源码

    例如,你可以实现基于冒泡排序或快速排序算法的自定义排序函数。 现在,让我们看看`SanYe`标签可能代表的是易语言社区中的知名开发者或者资源分享者。他们提供的源码可能是一个完整的易语言排序函数,用于自定义...

Global site tag (gtag.js) - Google Analytics