`
geelong
  • 浏览: 117255 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Collections 给数组排序

阅读更多
public class VO {
	private char key;
	private int value;
	public VO(char key, int value) {
		super();
		this.key = key;
		this.value = value;
	}
	public int getValue() {
		return value;
	}
	public char getKey() {
		return key;
	}	
}

 

import java.util.Comparator;

public class MyComparator  implements Comparator<VO> {

	public int compare(VO vo1, VO vo2) {
		// TODO Auto-generated method stub
		if(vo1.getValue()<vo2.getValue()){
		        return -1;
		}else if(vo1.getValue()==vo2.getValue()){
			return 0;
		}else{
			return 1;
		}
	}
}

 

 

package auto;

import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.ArrayList;

public class CollectionsTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
//		List<Integer> list=new ArrayList<Integer>();  //基本数据的比较
//		list.add(3);
//		list.add(2);
//		list.add(1);
//		Collections.sort(list);
//		for(Integer i:list){
//			System.out.print(i);  //123
//		}
		
		
//		VO vo=new VO('a',3);
//		VO vo2=new VO('b',5);
//		VO vo3=new VO('c',1);
//		List<VO> list=new ArrayList<VO>(); 
//		list.add(vo);
//		list.add(vo2);
//		list.add(vo3);
//		Collections.sort(list);                   //此方法不能用于比较对象参数
//		for(VO temp:list){
//			System.out.print(temp.getValue()); 

		
		
		VO vo=new VO('a',3);
		VO vo2=new VO('b',5);
		VO vo3=new VO('c',1);
		List<VO> list=new ArrayList<VO>(); 
		list.add(vo);
		list.add(vo2);
		list.add(vo3);
		MyComparator m=new MyComparator();           //MyComparator实习了Comparator<VO>借口,覆写其中的
		                                             //compare方法 ,用于比较数组中的参数
		Collections.sort(list, m);               
		for(VO temp:list){
			System.out.print(temp.getKey()); 
			System.out.print(temp.getValue()); 
	}

}
}  //c1a3b5  实现了排序
 

 

 

分享到:
评论

相关推荐

    arraylist 对象 数组排序

    ArrayList不支持直接排序,但是我们可以通过调用Collections.sort()方法或者自定义Comparator来实现。 `Collections.sort()`方法是Java集合框架提供的一个便捷工具,用于对List接口的实现类进行排序。如果ArrayList...

    Java5.0数组排序

    1. 对基本类型数组排序:在Java 5.0中,`Arrays.sort()`可以直接用于整型、浮点型、字符型以及双精度浮点型等基本类型的数组排序,例如`int[]`、`double[]`、`char[]`等。例如: ```java int[] numbers = {5, 3, 8, ...

    数组和集合的排序.rar

    2. **数组排序方法**: - **冒泡排序**:通过不断交换相邻两个元素来实现排序,效率较低,适用于小规模数据。 - **选择排序**:每次找出未排序部分的最小(大)值,放在已排序部分的末尾,适合数据量较小的情况。 ...

    JAVA 对象数组按照多个属性进行排序

    在Java编程中,对象数组排序是一项常见的任务,特别是在处理复杂数据结构时。当我们需要根据对象的多个属性进行排序时,情况会变得稍微复杂。本文将深入探讨如何在Java中实现这个功能,结合给出的标签“源码”和...

    arr.rar_C# ArrayList 排序_arraylist_arraylist 排序_数组排序

    本篇文章将深入探讨ArrayList的排序以及数组排序的相关知识点。 首先,ArrayList的排序主要依赖于`Sort()`方法。这个方法是ArrayList类中的一个成员,它通过快速排序算法对ArrayList中的元素进行原地排序。快速排序...

    C#使用sort方法对数组进行快速排序

    假设我们有一个整型数组`int[] arr`,我们可以通过以下代码进行排序: ```csharp int[] arr = { 5, 2, 8, 1, 9 }; Array.Sort(arr); ``` 上面的代码将按照升序对数组进行排序。如果你想进行降序排序,可以创建一个...

    java 对象数组排序

    Java中的数组排序是一个常见的编程需求,特别是在处理数据集合时。Java提供了一个内置的工具类`java.util.Arrays`,其中的`sort()`方法可以方便地对数组进行排序。在这个场景下,我们将关注如何对对象数组进行排序,...

    JAVA通过数组按首字母排序

    ### JAVA通过数组按首字母排序 在Java编程语言中,对字符串数组进行排序是一个常见的操作。本篇文章将详细介绍如何利用Java内置的`Arrays.sort()`方法按照字符串的首字母进行排序,以及如何处理大小写敏感性问题。 ...

    数组排序c#资源共享

    using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace TestA { ...

    数组及字符串排序

    这里我们探讨一下数组排序和字符串排序的相关知识点。 首先,数组是一种数据结构,它存储了一组相同类型的数据。在Java中,数组是固定大小的,一旦创建,长度就不可改变。数组排序通常指的是对数组中的元素按照特定...

    浅谈对象数组或list排序及Collections排序原理

    本篇文章将探讨如何对对象数组或List进行排序,以及Collections排序的底层原理。 首先,我们关注`List&lt;String&gt;`的排序。对于一个包含字符串的列表,我们可以使用`Collections.sort()`方法来轻松实现排序。以下是一...

    java List 排序 Collections.sort

    如果需要自定义排序规则,可以提供一个`Comparator`实例给`Collections.sort()`方法。`Comparator`是一个接口,定义了`compare()`方法用于比较两个对象。例如,我们创建一个`ComparatorPerson`类来根据姓名排序: `...

    java大作业用数组进行队列排序

    在Java编程中,大作业通常涉及实际应用中的问题解决,这次的任务是利用数组实现一个队列排序,并且能够动态地插入新的元素。这个任务主要涵盖了两个核心知识点:数组的使用和排序算法。下面将详细解释这两个方面。 ...

    C#数组的随机排序源码

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

    12道不错的数组例题

    4. **数组排序**: - 可以使用Java内置的`Arrays.sort()`方法对数组进行升序或降序排序。例如,`Arrays.sort(array)`默认为升序,`Arrays.sort(array, Collections.reverseOrder())`为降序。 5. **查找元素**: -...

    Collections 随机排序方法Shuffle源码说明

    在Java编程语言中,`Collections.shuffle()`方法是一个非常实用的工具,它用于对集合中的元素进行随机排序。这个方法在处理各种数据集时,比如游戏中打乱卡片顺序、抽奖程序或者任何需要随机化顺序的场景,都发挥着...

    C#数组反转与排序实例分析

    本文实例分析了C#数组反转与排序的方法。分享给大家供大家参考。具体实现方法如下: C#数组反转 代码如下:using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;    ...

    C语言习题集合(数组)含答案

    C语言习题Collections(数组)含答案 本资源提供了关于C语言数组的习题,涵盖了数组的基础概念、数组的声明和初始化、数组元素的访问和操作、数组在内存中的存储等方面的知识点。 数组的基本概念 1. 数组的大小是...

    Java Arrays.sort和Collections.sort排序实现原理解析

    Java中的`Arrays.sort()`和`Collections.sort()`是两个常用的排序函数,它们分别用于对数组和集合进行排序。这两个函数在内部实现上有所不同,但都基于高效的排序算法。 首先,`Collections.sort()`方法在处理列表...

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

    在Java编程语言中,"Java的常用包"和"数组的复制与排序"是学习的基础且重要的部分。这里,我们主要探讨的是Java的核心库包以及如何处理数组,特别是复制和排序的操作。 首先,让我们深入了解Java的常用包。Java标准...

Global site tag (gtag.js) - Google Analytics